在lodash中,如何通过发生索引从数组中获取对象,而不是搜索键值.
var tv = [{id:1},{id:2}]
var data = //Desired result needs to be {id:2}
我们来看看这个集合:
var collection = [{id: 1, name: "Lorem"}, {id: 2, name: "Ipsum"}];
Run Code Online (Sandbox Code Playgroud)
我将讨论两种方法,索引而不是索引.
通常,如果要访问许多项目,索引会更好,因为您将集合循环一次.如果没有,用Meeseeks解决发现是正确的选择.
var byId = _.groupBy(collection, 'id');
var byName = _.groupBy(collection, 'name');
Run Code Online (Sandbox Code Playgroud)
现在您可以通过索引键到达每个项目:
console.log(byId[2]); // Object {id: 2, name: "Ipsum"}
console.log(byName.Lorem); // Object {id: 1, name: "Lorem"}
Run Code Online (Sandbox Code Playgroud)
var item = _.find(collection, {id: 2});
console.log(item); // Object {id: 2, name: "Ipsum"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3642 次 |
| 最近记录: |