在 lodash 中,如何通过对象出现的索引从数组中获取对象,而不是搜索键值。
var 电视 = [{id:1},{id:2}] var data = //想要的结果需要是{id:2}
直接回答有关使用 lodash 中的索引从数组中检索对象的问题:
给定你的数组:
var tv = [{id:1},{id:2}];
您可以简单地使用:
var data = tv[1]; // This will give you the desired result: {id:2}
这是一个基本的 JavaScript 操作,您实际上并不需要 lodash 来完成此特定任务。
但是,如果您对根据属性从集合中获取项目的其他方法感兴趣,我想分享一些 lodash 技术:
var collection = [{id: 1, name: "Lorem"}, {id: 2, name: "Ipsum"}];
var item = _.find(collection, {id: 2});
console.log(item); // Outputs: Object {id: 2, name: "Ipsum"}
var byId = _.groupBy(collection, 'id');
console.log(byId[2]); // Outputs: Object {id: 2, name: "Ipsum"}
但是,如果您只是想根据其位置从数组中获取项目,那么使用直接数组索引(如
tv[1]
)这是最简单的方法。
希望这能解决问题!
find
你可以给它一个对象,它会返回匹配的元素或
undefined
示例
var arr = [ { id: 1, name: "Hello" }, { id: 2, name: "World" } ];
var data = _.find(arr, { id: 1 }); // => Object {id: 1, name: "Hello"}
var data = _.find(arr, { id: 3 }); // => undefined