我从对象列表中创建了一个不可变地图(使用 Immutable-JS ):
var result = [{'id': 2}, {'id': 4}];
var map = Immutable.fromJS(result);
现在我想用id = 4
获取对象.
有没有比这更容易的方法:
var object = map.filter(function(obj){
return obj.get('id') === 4
}).first();
我从对象列表中创建了一个不可变地图(使用 Immutable-JS ):
var result = [{'id': 2}, {'id': 4}];
var map = Immutable.fromJS(result);
现在我想用id = 4
获取对象.
有没有比这更容易的方法:
var object = map.filter(function(obj){
return obj.get('id') === 4
}).first();
本质上,不是:您正在按值而不是按索引执行列表查找,因此它将始终是一个线性遍历。
一个改进是使用find
而不是filter
:
var result = map.find(function(obj){return obj.get('id') === 4;});