2017-07-06 76 views
0

我在我的新工作中繼承了AngularJS項目的怪物混亂。我一直在試圖解決最近一個錯誤,有以下Lodash聲明:AngularJS應用程序中的_.find Lodash聲明中的花括號

var group = _.find(groupList, {id: id}); 

從上https://lodash.com/docs/3.10.1#find提供的文檔,這是我能找到版本3.7.0最接近的_.find功能迭代通過一個集合並返回語句爲「truthy」的第一個對象。表達式中的第二項表示要執行的函數。

但是,我很困惑{id:id}在這個實例中正在做什麼。這是一個角度表達?它究竟在做什麼?任何幫助將非常感激。

+1

正在尋找一個對象,其中屬性'id'與'id'變量相同。 – Li357

+0

是屬性或變量表達式中的第一個id嗎? – SDH

回答

1

這意味着 - 在數組中搜索具有屬性id的對象,其值爲變量id

var groupList = [{ id: 21, name: 'cats' }, { id: 17, name: 'dogs' }, { id: 701, name: 'rats' }]; 
 

 
var id = 17; 
 

 
var group = _.find(groupList, {id: id}); 
 

 
console.log(group);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

+0

那麼第一個id是變量還是屬性? – SDH

+0

不是,它是一個對象,例如'{id:null}',而變量'id'是第二個'{id:id}'。 –

0

也許嘗試讀取所有的鏈接您發佈的文檔?具體看一下例子:

var users = [ 
    { 'user': 'barney', 'age': 36, 'active': true }, 
    { 'user': 'fred', 'age': 40, 'active': false }, 
    { 'user': 'pebbles', 'age': 1, 'active': true } 
]; 

_.result(_.find(users, function(chr) { 
    return chr.age < 40; 
}), 'user'); 
// => 'barney' 

// using the `_.matches` callback shorthand 
_.result(_.find(users, { 'age': 1, 'active': true }), 'user'); 
// => 'pebbles' 

// using the `_.matchesProperty` callback shorthand 
_.result(_.find(users, 'active', false), 'user'); 
// => 'fred' 

// using the `_.property` callback shorthand 
_.result(_.find(users, 'active'), 'user'); 
// => 'barney' 

我相信第二個例子,使用_.matches回調速記

回答你的問題說

//。