2015-05-26 16 views
8

Ben lodash kullanıyorum. Bunu sevdim.Lodash - Birden çok sonuç nasıl alınır?

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

ben user özelliği ilk kullanıcıyı bulma ve toplama ediyorum nasıl: Ancak

_.result(_.find(users, 'active', false), 'user'); 
// 'fred' 

, ben koparmak istedi

Şöyle bir kullanıcıların dizi var user ve age değerleri. Bunu nasıl yazabilirim? Eğer sadece tek bir sonucundan user ve age sütunları seçmek istiyorsanız

+1

'_.find (kullanıcılar, 'etkin' false)' Sen var 'gibi kullanabilirsiniz, size bir nesne döndürür obj = _.find (kullanıcılar, 'etkin' false); 've sonra' obj.user' ve 'obj.age' olsun – Satpal

+1

Ne cevap bekliyorsunuz? Kullanıcı adı ve yaşı olan yeni bir nesne mi? – vjdhama

+2

Evet, vjdhama yeni nesne istiyorum –

cevap

4

böyle pick() işlevi kullanabilirsiniz: o zaman where() kullanabilirsiniz

_.pick(_.find(users, 'active'), ['user', 'age']); 
// 'barney', 36 

filtrelemek istiyorsanız ve projeyi ve map():

_.map(_.where(users, 'active'), _.partialRight(_.pick, ['user', 'age'])); 
// [{ name: 'barney', age: 36 }, { user: 'pebbles', age: 1 } ] 
+2

Cevabınız için teşekkürler Will Smith –

1

nesne dizide kullanıcıyı değil nitelik 'kullanıcı' isterseniz şunları yapabilirsiniz onu _.find'den al.

_.find(users, 'active', false); 
// {'user': 'fred', 'age': 40, 'active': false} 
İlgili konular