Arrays 使用Lodash从对象/值中删除关键点

Arrays 使用Lodash从对象/值中删除关键点,arrays,lodash,Arrays,Lodash,我试图以2个对象数组结束,a和b。 如果键“name”出现在数组a中,我不希望它出现在b中 var字符=[ {'name':'barney','blocked':'a','employer':'slate'}, {'name':'fred','blocked':'a','employer':'slate'}, {'name':'pebbles','blocked':'a','employer':'na'}, {'name':'pebbles','blocked':'b','employer':'

我试图以2个对象数组结束,a和b。 如果键“name”出现在数组a中,我不希望它出现在b中

var字符=[
{'name':'barney','blocked':'a','employer':'slate'},
{'name':'fred','blocked':'a','employer':'slate'},
{'name':'pebbles','blocked':'a','employer':'na'},
{'name':'pebbles','blocked':'b','employer':'hanna'},
{'name':'wilma','blocked':'c','employer':'barbera'},
{'name':'bam-bam','blocked':'c','employer':'barbera'}
];
var a=551;.filter(字符,{'blocked':'a'});
Varz=uu.pull(a,'name');
变量b=差异(字符,a);
_(z) .forEach(函数(n){
//_.pull(b,u.filter(b,{'name':n}));
//b=u2;不带(b,{'name':n});
//没有(b,{'name':n})的情况下,b={;
_.without(b,u.filter(b,{'name':n}));
});
代码运行,但数组“b”从未更改。我希望数组“b”中有两个名为wilma和bam的对象。 我试着不打圈地做这件事

var c=u.without(b,u.filter(b,{'name':'pebbles'}));
VarD=10;不带(b,{'name':'pebbles'});
var f=u2;.pull(b,{'name':'pebbles'});
虽然代码执行,但pebbles不会执行。

您可以在
forEach()中使用
remove()
,以实现您想要的结果

z.forEach(函数(n){
_.remove(b,{'name':n});
});
通过删除
z
forEach()
可以进一步简化代码

var a=..filter(字符,{'blocked':'a'});
变量b=389;(字符)
.差异(a)
.reject(函数(x){
返回{.where(a,{'name':x.name}).length;
})
.value();

我显然太蠢了,不知道如何接受这个答案。我愿意接受。它确实解决了我的问题。