鍍金池/ 問答/HTML/ js兩個(gè)數(shù)組比較,找到相同的刪除掉

js兩個(gè)數(shù)組比較,找到相同的刪除掉

var ary = [1,2,3,4]; 

var  obj=[
   {
     id:1,
     name:'luo1'
   },
   {
     id:2,
     name:'luo2'
   },
   {
     id:5,
     name:'luo5'
   }
]

obj里面的對象id只要在ary里面,就刪除掉,

比如最后輸出

obj=[{
     id:5,
     name:'luo5'
   }]
回答
編輯回答
尕筱澄

const newArr = obj.filter(item => !ary.includes(item.id))

2018年5月2日 10:54
編輯回答
葬愛

for(var i =0;i<obj.length;i++){

for(var j = 0;j< ary.length;j++){
    if(obj[i].id == ary[j]e){
        obj.splice(i,0);
    }
}

}

2018年3月21日 05:22
編輯回答
何蘇葉

這是一個(gè)求集合的補(bǔ)集的問題:
參考文章:
https://stackoverflow.com/que...


// Generic helper function that can be used for the three operations:        
function operation(list1, list2, operationIsUnion) {
    var result = [];
    
    for (var i = 0; i < list1.length; i++) {
        var item1 = list1[i],
            found = false;
        for (var j = 0; j < list2.length; j++) {
            if (item1.userId === list2[j].userId) {
                found = true;
                break;
            }
        }
        if (found === operationIsUnion) {
            result.push(item1);
        }
    }
    return result;
}

// Following functions are to be used:
function inBoth(list1, list2) {
    return operation(list1, list2, true);
}

function inFirstOnly(list1, list2) {
    return operation(list1, list2, false);
}

function inSecondOnly(list1, list2) {
    return inFirstOnly(list2, list1);
}

// Sample data
var list1 = [ {userId:1234,userName:'XYZ'}, 
              {userId:1235,userName:'ABC'}, 
              {userId:1236,userName:'IJKL'},
              {userId:1237,userName:'WXYZ'}, 
              {userId:1238,userName:'LMNO'}
            ];

var list2 = [ {userId:1235,userName:'ABC'},  
              {userId:1236,userName:'IJKL'},
              {userId:1252,userName:'AAAA'}
            ];
  
console.log('inBoth:', inBoth(list1, list2)); 
console.log('inFirstOly:', inFirstOnly(list1, list2)); 
console.log('inSecondOnly:', inSecondOnly(list1, list2)); 

你想得到的解決方案 屬于 inSecondOnly

2018年6月5日 00:47
編輯回答
尐潴豬
unique (obj, ary){
   return obj.filter(function(item){
      return ary.indexOf(item.id) != -1;
   })  
 
}```
2018年8月31日 04:24