按允许值列表过滤/获取 Subest OrderedMap
设置:
const allowed = ['item1', 'item3'];
有序映射
{
item1: { key: 'sdfd', value:'sdfd' },
item2: { key: 'sdfd', value:'sdfd' },
item3: { key: 'sdfd', value:'sdfd' }
}
过滤有序 map
{
item1: { key: 'sdfd', value:'sdfd' },
item3: { key: 'sdfd', value:'sdfd' }
}
切片、跳过方法根据一系列键给出值。 或者我们可以使用deleteAll方法选择和删除
最佳答案
您可以通过使用 OrderedMap#filter
的自定义谓词来实现此目的:
function keyIn(...keys) {
var keySet = Immutable.Set(keys);
return function (v, k) {
return keySet.has(k);
}
}
var data = Immutable.Map({ a: 1, b: 2, c: 3, d: 4 });
data.filter(keyIn('a', 'c')); // pick
// Map { a: 1, c: 3 }
data.filterNot(keyIn('a', 'c')); // omit
// Map { b: 2, d: 4 }
https://github.com/facebook/immutable-js/wiki/Predicates#pick--omit
关于immutable.js - 获取 OrderedMap 的子集/过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50169903/