Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.9k views
in Technique[技术] by (71.8m points)

js 实现两个数组(一个数组包含于另一个数组中)去重的问题

arr2是arr1的子数组,(也就是说arr2中的元素arr1都有)现在要得到在arr1中删除arr2中出现的元素后的结果,各位大神有什么好办法
图片描述

    var arr1 = [
        {id:1,name:'a'},
        {id:2,name:'abc'},
        {id:3,name:'abbb'}, 
        {id:4,name:'abxxx'}, 
        {id:5,name:'xyz'},
        {id:6,name:'abcdef'},
        {id:7,name:'abzzzz'}];
    var arr2 = [
        {id:1,name:'a'},
        {id:5,name:'xyz'},
        {id:7,name:'abzzzz'}];

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
var result = arr1.filter(function(item1) {
    return arr2.every(function(item2) {
        return item2.id !== item1.id
    })
})

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...