我目前正在做一个小型家庭项目,我正在尝试将一个数组推送到一个数组数组中,如果该数组不存在于数组数组中的话。
var arrayArr = [[1,4]];
function pushArr() {
var tempArr = [1, 3];
var tempArr2 = [1, 4];
for(i = 0; i < arrayArr.length, i++)
if(!arrayArr.indexOf(tempArr[i])) {
arrayArr.push(tempArr[i]);
} else {
//other logic
}
}
现在,我知道这个例子在现实世界中并没有真正意义,它只是为了说明我的担忧。我如何搜索一组数组以确保我不会创建重复项。
如有任何疑问,欢迎提问。
谢谢!
最佳答案
在我的解决方案中,在 isArrayInArray()
中,我循环遍历主数组 arrayArr
中的每个元素。然后我比较每个给定数组的第一个和第二个元素是否匹配。如果是这样,则数组已添加,因此它将返回 true。
var arrayArr = [[1, 4]];
pushArray([1, 4]); // does not get added
pushArray([1, 3]); // gets added
console.log(arrayArr);
function isArrayInArray(arrayToSearch, arrayToFind) {
for (let i = 0; i < arrayToSearch.length; i++) {
if (arrayToSearch[i][0] === arrayToFind[0] && arrayToSearch[i][1] === arrayToFind[1]) {
return true;
}
}
return false;
}
function pushArray(array) {
if (!isArrayInArray(arrayArr, array)) {
arrayArr.push(array);
}
}
关于javascript - 如果数组的数组中不存在数组,则推送数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43642507/