2015-07-23 12 views
8

Şu anda kullanıcı aramasına göre belirli bir koşulu karşılayan nesneleri filtrelemek için Lodash _.filter() işlevini kullanıyorum; veya ülke.Lodash _.filter işlevi yalnızca ONE koşulunu karşılamalıdır

Arama dizesini ayıkladım ve bunu her nesne içinde birkaç değere göre filtrelemek istiyorum ve bu anahtarlardan herhangi birinde bulunan dizgi varsa nesneyi döndürmesi gerekir.

Web sitesinden örnek kullanmak istiyorum açıklamak için.

Bu örnekte, 36 yaşında VEYA olan kullanıcılara nasıl filtre uygularım? Belgelere göre, her iki koşulun da karşılanması gereken nesne için yukarıdaki örnekte belirtildiği gibi karşılanması gerektiği görülmektedir.

_.filter(users, function(user) { 
    return user.age === 36 || user.active; 
}); 

ve _.find ile aynı tekniği kullanabilirsiniz:

cevap

29

Sen _.filter bir fonksiyon geçebilir

_.result(_.find(users, function(user) { 
    return user.age === 36 || user.active; 
}), 'user');