我想通過另一個JSON對象使用lodash過濾一個對象數組。lodash:通過另一個JSON對象過濾對象數組
var users = [
{ 'user': 'barney', 'name': "donald", 'active': true },
{ 'user': 'joe', 'name': "john", 'active': false },
{ 'user': 'fred', 'name': "peri", 'active': false },
{ 'user': 'fred', 'name': "aru", 'active': false },
{ 'user': 'fred', 'name': "teena", 'active': false },
{ 'user': 'fred', 'name': "nill", 'active': false },
{ 'user': 'fred', 'name': "duck", 'active': false },
{ 'user': 'barney', 'name': "resaj", 'active': false },
{ 'user': 'pebbles', 'name': "jee", 'active': true }
];
另一個JSON對象:
var searchParams = { 'user': 'ba', 'name': "don"}
如果第一個數組對象的用戶包含第二個對象的用戶和第一對象名稱包含比我想的object.I嘗試這個代碼第二個對象的名稱,但它返回OR條件不AND條件。
_.filter(users, function(o) {
var checkFlag = false;
_.forOwn(searchParams, function(v,k) {
if(_.includes(o[k],v)){
checkFlag = true;
return false;
}
});
return checkFlag;
});
這將返回結果下
[{ 'user': 'barney', 'name': "donald", 'active': true },{ 'user': 'barney', 'name': "resaj", 'active': false }]
我只想要第一個對象{ 'user': 'barney', 'name': "donald", 'active': true }
任何幫助將是appreciated.Any想法
感謝@julian索勒,作品般的魅力,試圖用兩個以上的搜索PARAMS太。 :) – Mahen