创建一个测试数组是否包含某些内容的函数

时间:2011-06-19 00:14:55

标签: actionscript actionscript-2

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。怎么了?感谢

1 个答案:

答案 0 :(得分:0)

您正在使用等于运算符比较2个数组:

  

arrayData[i]==input

无论数组的内容如何,​​这都将是假的。在您的案例中,等于运算符测试arraydata[i]是否与input是同一个对象,如果2个不同的对象(数组)具有相同的内容,则不会。