比较整数数组列表中的整数

时间:2014-06-20 09:49:32

标签: javascript arrays

在Javascript中,我在一个List中有一个整数数组列表。如何比较列表中的整数?

var childOne = [];
childOne.push(3);
childOne.push(1);

var childTwo = [];
childTwo.push(4);
childTwo.push(2);

var main = [];
main.push(childOne);
main.push(childTwo);

如何比较子数组中的整数?

注意:我有一个像上面提到的json对象" main"宾语。我的任务是,如何查找子数组中的整数是否相同?

1 个答案:

答案 0 :(得分:0)

您需要遍历主数组,然后比较两个项目。我用了Array.indexOf。如果main中的所有数组都相等,则此代码返回true:

function match(arr) {
    var i, m = false;

    // checks if two arrays contain the same items    
    function intMatch(arrLeft, arrRight) {
        var l, m = arrLeft.length === arrRight.length;
        // if lenghts are different no need to check
        if (m) {
            // loop over the left array
            for(l = 0; l < arrLeft.length; l = l + 1) {
                // is it in the right array
                if (arrRight.indexOf(arrLeft[l]) === -1) {
                    m = false;
                    break; // exit for loop
                }
            }
        }
        return m;
    }

    // length-1 because we compare two items
    for(i = 0; i < arr.length - 1; i = i + 1) {
        // take this item and the next one
        m = intMatch(arr[i], arr[i + 1]);
        if (m === false) {
            break; // exit for loop
        }
    }
    return m;
}

以下是the JsFiddle,以防您需要更改或测试内容。