我有一个关于找到两个阵列之间区别的快速问题。我发现的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