问题

我从对象列表中创建了一个不可变地图(使用 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;});
 

  相同标签的其他问题

javascriptimmutability