[英]How to filter an array of objects according to an attribute in Javascript
[英]How to filter a JSON tree according to an attribute inside
我必須再次發布這些問題並提供更多細節:
我有一個JSON樹array
。
JSON樹的結構如下所示:
{
"app": {
"categories": {
"cat_222": {
"id": "555",
"deals": [{
"id": "73",
"retailer": "JeansWest"
}, {
"id": "8630",
"retailer": "Adidas"
}, {
"id": "11912",
"retailer": "Adidas"
}]
},
"cat_342": {
"id": "232",
"deals": [{
"id": "5698",
"retailer": "KFC"
}, {
"id": "5701",
"retailer": "KFC"
}, {
"id": "5699",
"retailer": "MC"
}]
}
}
}
}
現在,我想用var pattern="KF"
過濾這個JSON樹,
使用retailer
名稱返回all包含帶有ID的KF
。
======================更新===========================
請檢查我的其他問題。 它解決了。 過濾多維JSON數組
好吧,你可以使用_.filter :
var filteredArray = _.filter(arrayOfStrings, function(str) {
return str.indexOf(data) !== -1; });
...或jQuery.grep :
var filteredArray = $.grep(arrayOfStrings, function(str) {
return str.indexOf(data) !== -1; });
如您所見,這些方法非常相似 - 事實上,如果它在主機環境中可用,則都使用Array.filter 。
另請注意,此處不會影響原始陣列。 如果您不想要,只需將過濾結果分配給同一個變量(即本例中的arrayOfStrings
)。
如果需要支持IE <9,請使用Array.filter
或_.filter
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.