ImmmutalbeJS:过滤地图列表

时间:2016-01-18 20:06:45

标签: javascript immutable.js

假设我有ListMap项。 我想过滤列表。 根据文档,我会做类似的事情:

people.filter(person =>
  person.get('name') === 'David' &&
  person.get('lastName') === 'Smith');

我宁愿通过写一些不那么冗长的东西来实现同样的目标:

people.filter({ name: 'David', lastName: 'Smith' });

(LoDash风格)

有这样的方式吗?还有比第一个例子更优雅的东西吗?

1 个答案:

答案 0 :(得分:2)

试试这个:

let fullNameList = Immutable.List([{name: 'David', lastName: 'Smith'}, {name: 'David', lastName: 'King'}, {name: 'Some', lastName: 'Dude'}]);

let firstName = Immutable.Map({name: 'David'});

let result = fullNameList.filter(fullName=>firstName.isSubset(fullName));