我有对象数组:
var arr = [{id:1, name:Michael},
{Id:2, name:"Mix"},
{Id:3, name:"Mark"},
{Id:4, name:"Marta"},
{Id:5, name:"Anna"}];
var desiredId = 3;
我尝试在lodash
库的帮助下从对象数组中获取对象:
var result = _.find(arr, 'Id', desiredId);
但我总是得到id = 1
的对象(即{id:1, name:Michael}
)。
知道为什么我没有得到预期的对象(Id = 3)。
答案 0 :(得分:2)
如果您查看find() lodash文档,则应该有一个示例,您可以使用matches()简写。你会注意到这个简写是从集合中查询时常见的。
示例:
var arr = [
{Id:1, name:"Michael"},
{Id:2, name:"Mix"},
{Id:3, name:"Mark"},
{Id:4, name:"Marta"},
{Id:5, name:"Anna"}
];
var desiredId = 3;
var result = _.find(arr, { Id: desiredId });
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.12.0/lodash.js"></script>