js 如何筛选ID相同跟不相同得

就是拿一组ID 跟另一个数组做比较 如果有相同得 放到相同得新数组里 有不相同的放到不相同数组中

阅读 2.8k
2 个回答
[...arr1,...arr2].reduce((result,v)=>{
    let index=result.diff.indexOf(v)
    if(index!==-1){
        result.same.push(result.diff.splice(index,1)[0]);
    }else{
        result.diff.push(v);
    }
    return result;
},{same:[],diff:[]})
const a = [1, 2, 3, 4];
        const b = [2, 3, 5, 6];

        function filterArr(arr1,arr2,type) {
            let diffArr = [];
            let sameArr = [];
            sameArr = arr1.filter(v => {
                return arr2.some(a => {
                    return v == a
                })
            })
            let mergeArr = [...arr1,...arr2];
            diffArr = mergeArr.filter(v => {
                return !sameArr.includes(v)
            })
            if (type == 'same') {
                return sameArr
            } else {
                return diffArr
            }
        }

        console.log(filterArr(a,b,'same')) // [2,3]
        console.log(filterArr(a,b,'diff')) // [1,4,5,6]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题