我需要在「數組數組」中找到丟失的數組。我開始發現以下(在計算器上)這個函數:在數組數組中找到丟失的數組
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