在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"宾语。我的任务是,如何查找子数组中的整数是否相同?
答案 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,以防您需要更改或测试内容。