openList = Array([1,1], [2,3], [4,5]);
containss = function (input, arrayData, tellID) {
for (i = 0; i < arrayData.length; i++) {
if (arrayData[i] == input) {
if (tellID) {
return i;
} else {
return true;
}
}
}
return false;
}
trace(containss([2,3], openList, true));
当openList包含2,3时,此代码返回false。当我添加trace(arrayData [i])时,我得到1,1 2,3 4,5当我做跟踪(输入)时我得到2,3。怎么了?感谢
答案 0 :(得分:0)
您正在使用等于运算符比较2个数组:
arrayData[i]==input
无论数组的内容如何,这都将是假的。在您的案例中,等于运算符测试arraydata[i]
是否与input
是同一个对象,如果2个不同的对象(数组)具有相同的内容,则不会。