[英]Find object from array of objects where key is from another array
我為自己的JavaScript代碼找到合適的對象而感到震驚。 我有2個數組。
var filters = [{"name":"hello","value":"xyz"},{"name":"hello2","value":"abc"}]
var keys = ["hello","hello2"]
我想找到名稱為“ hello”的對象。 我正在嘗試使用underscore.js
var selectedObj = _.findWhere(filters , { name: ??? });
我不能直接傳遞“ hello” /鍵[0]。 我必須使用keys數組來填充“ ???”。
請幫忙。
提前致謝。
使用_.find代替findWhere:
var result = [];
_.each(keys, function (key) {
_.find(filters, function (item) {
//loop through array , check key and return object
if (key === item.name)
result.push(item);
});
});
它們是相似的,但是findWhere是為要匹配鍵值對的特殊情況設計的(在您的方案中沒有用,因為它涉及嵌套對象)。 Find是更通用的,因為它使您可以提供一個函數作為謂詞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.