Lodash功能无法正常工作

时间:2016-05-15 15:03:43

标签: javascript underscore.js lodash

我有对象数组:

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)。

1 个答案:

答案 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>