2016-05-15 256 views
1

我有對象的數組: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)。

+0

根據lodash的版本,您使用的第三個參數可以對_.find'的'執行不同的效果。查看[docs](https://lodash.com/docs)的實際行爲:) – Andreas

回答

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>