我有一個關於找到兩個陣列之間區別的快速問題。我發現的JavaScript代碼塊,它做什麼,我想here和修改了一點:兩個陣列的區別
JS
function diffArray(arr1, arr2) {
var newArr = [];
var myArr = arr1.concat(arr2);
newArr = myArr.filter(function(item){
return arr2.indexOf(item) < 0 || arr1.indexOf(item) < 0;
});
return newArr;
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
但是,我不知道,我真的明白的濾波器功能在這裏做。任何人都可以給我清楚的解釋這是如何工作的。
注:我已經知道的過濾器功能的基礎知識。我正在尋找這個過濾器的特別解釋。
如果產品不在'arr2',檢查它是否在'arr1'如果不是在'arr1'要麼,返回false,否則返回true。 – adeneo
謝謝!這開始變得更有意義。 –
我不喜歡愚蠢的代碼暗示「嘿看我輸入了2個字符少」。它應該像'arr2.indexOf(item)> = 0 && arr1.indexOf(item)> = 0;' – Redu