取两个数组不同的元素

170 阅读1分钟

var arr1 = [0,1,2,3,4,5];

var arr2 = [0,4,6,1,3,9];

function getArrDifference(arr1, arr2) {

    return arr1.concat(arr2).filter(function(v, i, arr) {
    
        return arr.indexOf(v) === arr.lastIndexOf(v);
        
    });
    
}
console.log(getArrDifference(arr1,arr2));

arr.indexOf(v)元素初次出现的位置,arr.lastIndexOf(v) 元素最后出现的位置

先合并两个数组,再通过判断每一个元素索引是否相同,如果索引相同说明在数组里只出现了一次,那其中 一

个数组肯定是没有该元素

//输出:(4) [2, 5, 6, 9]