簡體   English   中英

如何根據內部屬性過濾JSON樹

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM