Diff Two Arrays
//自己
function diffArray(arr1, arr2) {
return arr1.filter(item=> arr2.includes(item)===false)
.concat(arr2.filter(item=> arr1.includes(item)===false))//(●'◡'●)对齐了
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
//这个格式好些,更清晰的体现同一层级、并列的关系
function diffArray(arr1, arr2) {
return [...arr1.filter(item=> arr2.includes(item)===false),
...arr2.filter(item=> arr1.includes(item)===false)]
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
//别人家的孩子
function diffArray(arr1, arr2) {
return arr1
.concat(arr2)//合并,在任意子集中不存在就是我们要的数 (我为什么说我们?)
.filter(item => !arr1.includes(item) || !arr2.includes(item));
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
function diffArray(arr1, arr2) {
return [...diff(arr1, arr2), ...diff(arr2, arr1)];//这里调用函数
function diff(a, b) {
return a.filter(item => b.indexOf(item) === -1);
}
}