我有一个jsonarray A,但我想删除满足一定条件的元素。此条件是具有特定id的元素,这些元素包含在另一个称为B的数组中。它们都包含相同的id属性。
假设数组如下所示:
A =[{"id":1},{"id":2},{"id":3}]
B =[{"id":1},{"id":2}]
因此,我尝试创建的函数将导致:
result=[{"id":3}]
我尝试了这个,但是没有用:
result= _.each(A, function(gl) {
return _.each(B, function(tg) {
if (tg.id != gl.id) {
return gl;
}
});
});
尝试使用reject
过滤掉不需要的值:
var A =[{"id":1},{"id":2},{"id":3}];
var B =[{"id":1},{"id":2}];
var result = _.reject(A, function(item) {
return _.find(B, {id: item.id});
});
alert(JSON.stringify(result)); // [{"id":3}]
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.5.0/lodash.js"></script>
你可以用它来检查,如果A在B的一些底线的方法是find
,findIndex
和where
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句