AS3比较2个阵列是否存在差异

cro*_*y88 0 flash actionscript-3

希望有人可以对这个"看似"直截了当的问题有所了解.我需要比较两个数组,看它们是否相同.

var _array1:Array = new Array();
var _array2:Array = new Array();


_array1.push(1,2,3,4,5);

_array2 = _array1.concat();

trace("_array2 "+_array2);
//traces 1,2,3,4,5 so I am assuming the copy took place.


if (_array2 == _array1) {
    trace("the same");
} else {
    trace("different");
}
Run Code Online (Sandbox Code Playgroud)

即使阵列看似相同,该测试也会追踪"不同".

有谁知道我哪里出错了?

谢谢,

标记

Jev*_*jev 10

如果你想比较数组,只需使用小技巧:

if (String (_array2 ) == String ( _array1) )
{
    trace("the same");
} else {
    trace("different");
}
Run Code Online (Sandbox Code Playgroud)

  • 只要你永远不会尝试这种非原始类型......这在大多数时候都是如此. (5认同)
  • 这适用于他的情况 - 如果只有数字和字符串是元素.但是,它不适用于存储更复杂变量的数组.我相信你知道这一点,我只想指出原来的海报:) (3认同)