我需要在“数组数组”中找到丢失的数组。我开始发现以下(在计算器上)这个函数:在数组数组中找到丢失的数组
oldarray = ["hi", "ho", "hey"];
newarray = ["hi", "hey"];
使用findDeselectedItem(newarray, oldarray)
将返回[“豪”]:
function findDeselectedItem(CurrentArray, PreviousArray) {
var CurrentArrSize = CurrentArray.length;
var PreviousArrSize = PreviousArray.length;
var deselectedItem = [];
// loop through previous array
for(var j = 0; j < PreviousArrSize; j++) {
// look for same thing in new array
if (CurrentArray.indexOf(PreviousArray[j]) == -1)
deselectedItem.push(PreviousArray[j]);
}
return deselectedItem;
}
,如果你做了这样的事情这工作就好了。
然而,我的内容是这样的:
oldarray = [["James", 17, 1], ["Olivia", 16, 0], ["Liam", 18, 1]];
newarray = [["Olivia", 16, 0], ["James", 17, 1]];
我如何能适应上述的功能,因此,它返回一个包含“利亚姆”的缺阵。
感谢
在检查数组数组的情况下,只有当数组的引用相同时,indexOf才会返回正值或零值。它不会做价值比较 – prasun