我有一個JS數組的問題。整數數組比較
實施例:
var fullArr = [1,2,3,4];
var partArr = [2,3];
var newArr = [];
我們有一個主陣列fullArr
和部分陣列partarr
。我想創建一個函數/過濾器,它正在尋找fullArr
中的現有項目,而不是在partArr
中。 在上面的示例中,newArr
必須等於[1,4]。
我試過做這樣的事情,但它不能正常工作。
for (var k in fullArray) { // [1,2,3,4]
for (var j in selectedArray) { // [1,4]
if (fullArray[k] == selectedArray[j]) {
newArray.splice(selectedArray[j] - 1, 1); // must be [2,3]
break;
}
}
}
這是什麼做法的好方法?謝謝。
'但它工作不正常「它怎麼不工作?它給你什麼結果? –
附註:它可能與你的代碼無關,但一般來說,對數組使用'for ... in'是一個壞主意,因爲順序不能保證。使用常規的'for'循環。 –
使用'Array。filter'是更簡單的解決方案,但您可能還想查看[Array.splice]的文檔(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/拼接),因爲你沒有正確使用它。但是由於你(大概)試圖向'newArr'添加一個項目,使用'push'會更容易。 –