假设我们有以下对象数组,根据属性id
进行比较:
a = [{'id':'1', 'name':'a1'}, {'id':'2', 'name':'a2'}, {'id':'3', 'name':'a3'}]
和
b = [[{'id':'2', 'name':'a2'}, ]
我该如何从a中减去b?使得我们有c = a - b
,其结果应为[ {'id':'1', 'name':'a1'}, {'id':'3', 'name':'a3'}]
。
我尝试使用以下方法:
var c= a.filter(function(item) {
return !b.includes(item.id);
});
但仍未能正常工作。
if(a[i].id == b[j].id){ a.splice(i, 1); i-=1; }
- Aleksey Soloveyid
属性进行比较。这不是一个整数或字符串的数组,就像重复的问题那样。 - Codec