isEqualTo
Jump to navigation
Jump to search
Description
- Description:
- Performs strict comparison between var1 and var2 and returns true if equal otherwise false.
Some differences between == and isEqualTo: - Groups:
- Uncategorised
Syntax
Examples
- Example 1:
_arr1 = [1,[2,[3]]]; _arr2 = [1,[2,[3]]]; if (_arr1 isEqualTo _arr2) then {hint "Arrays match!"}
- Example 2:
if (a isEqualTo b) then {hint "a is equal to b"}; if !(a isEqualTo b) then {hint "a is not equal to b"};
Additional Information
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Notes
- Posted on Apr 15, 2014 - 16:24
- ffur2007slx2_5
-
(ArmA3 1.16) for multiple comparisons, we can use the example below for more accurate compare than BIS_fnc_arrayCompare or BIS_fnc_areEqual:
fnc_areEqual = { private ["_b","_var1","_var2"]; _b = true; for [{_i = 1},{_i < (count _this) && _b},{_i = _i + 1}] do { _var1 = _this select (_i-1); _var2 = _this select _i; if (!(_var1 isEqualTo _var2)) then {_b = false;}; }; _b }; ["A","a","a"] call fnc_areEqual; // false ["A","a","a"] call BIS_fnc_areEqual; // true
Bottom Section
- Posted on July 19, 2014 - 19:48 (UTC)
- AgentRevolution
- The behavior of "var1 isEqualTo var2" is pretty much equivalent to "var1 in [var2]", plus the ability to compare arrays, and slightly better performance.
- Posted on December 3, 2014 - 13:11 (UTC)
- Tajin
- Simply put, "isEqualTo" is a binary comparison. Therefor it is very fast but only accepts 100% identical matches. In some other languages this is known as "===" instead of "==".
- Posted on May 21, 2015 - 11:26 (UTC)
- Killzone Kid
-
A faster, case-sensitive alternative to BIS_fnc_areEqual using isEqualTo:
KK_fnc_allEqual = { private ["_arr", "_0"]; _arr = []; _first = _this select 0; for "_i" from 0 to count _this - 1 do { _arr pushBack _first; }; _arr isEqualTo _this }; // Example [[1,2],[1,2],[1,3]] call KK_fnc_allEqual; //false