检测同一地点的值

时间:2012-07-31 19:54:07

标签: javascript arrays comparison

如果数组中的至少一个值与同一位置的其他数组中的值相同,我如何使用javascript进行检测? 如果您无法理解,此示例将对您有所帮助。

这应该返回true:

var array = [
    [
        [3, 5],
        [2, 3]
    ],
    [
        [2, (1)],
        [4, 5]
    ],
    [
        [2, (1)],
        [4, 5]
    ],
];

这应该返回false:

var array = [
    [
        [3, 4],
        [2, 3]
    ],
    [
        [2, 1],
        [4, 5]
    ],
];

2 个答案:

答案 0 :(得分:0)

function test(array) {
    for(var i=0; i<array.length-1; i++) {
        for(var j=i+1; j<array.length; j++) {
            for(var k=0; k<array[i].length; k++) {
                for(var l=0; l<array[i][k].length; l++) {
                    if(array[i][k][l]==array[j][k][l]) {
                        return true;
                    }
                }   
            }
        }
    }

    return false;
}

test([[[3,5],[2,3]],[[2,1],[4,5]],[[2,1],[4,5]]]); // true

test([[[3,4],[2,3]],[[2,1],[4,5]]]); // false

test([[[3,1,4],[1,3,5]],[[7,3,3],[4,5,5]]]) // true

答案 1 :(得分:0)

function arrayCheck(array){
    var i = 0;
    while(i < array.length){
        j = 1;
        while(i+j < array.length){
            if(array[i] == array[i+j]){
                return true;
            }
            j++;
        }
        i++;
    }
    return false;
}