javascript – 根据属性值从ImmutableJS列表中删除对象

前端之家收集整理的这篇文章主要介绍了javascript – 根据属性值从ImmutableJS列表中删除对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
根据属性的值从列表中删除对象的最简单的方法是什么?

我正在寻找相当于MongoDB中的$pull.

我的列表看起来很简单:

[{a: '1',b: '1'},{a: '2',b: '2'}]

而且我想从数组中删除属性设置为’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' });

但是,对非空列表进行过滤将导致不同的不可变列表,因此您可能需要首先检查{a:1}的发生.

if (test.some(function(item) { return item.get('a') === '1'; })) {
    test = test.filter(function(item) { return item.get('a') !== '1' });
}

猜你在找的JavaScript相关文章