根据属性值从列表中删除对象的最简单方法是什么?
我正在寻找 MongoDB 中的 $pull 等效项。
我的列表看起来很简单,如下所示:
[{a: '1' , b: '1'},{a: '2' , b: '2'}]
我想从数组中删除属性 a 设置为“1”的对象。在 MongoDB 中,我会这样做:
Model.update({_id: getCorrectParentObj},{ $pull: {listIDeleteFrom: { a: '1' } } },(err, result)=>{});
如何使用 ImmutableJS 获得相同的结果?
最佳答案
您可以简单地 filter
不可变列表:
var test = Immutable.List.of(Immutable.Map({a: '1'}), Immutable.Map({a: '2'}));
test = test.filter(function(item) { return item.get('a') !== '1' });
但是,非空 List
上的 filter
会产生不同的不可变列表,因此您可能需要检查 {a: 1}
首先:
if (test.some(function(item) { return item.get('a') === '1'; })) {
test = test.filter(function(item) { return item.get('a') !== '1' });
}
关于javascript - 根据属性值从 ImmutableJS 列表中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31466400/