0
我想要搜索數組中的字符串。我的問題是,我的數組非常大,並有許多嵌套數組。如何在深嵌套數組中搜索
它看起來像這樣:
[
{
"Id":null,
"Text":"Marketing",
"Gruppen":[
{
"Id":null,
"Text":"Werbeartikel",
"Gruppen":[
{
"Id":null,
"Text":"Werbegeschenk Hobby, Freizeit",
"Gruppen":[
{
"Id":"51004839",
"Text":"Taschenmesser (Werbeartikel)",
"Gruppen":null
},
{
"Id":"51004843",
"Text":"Schirm (Werbeartikel)",
"Gruppen":null
},
{
"Id":"51004845",
"Text":"Sportartikel (Werbeartikel)",
"Gruppen":null
}
]
}
]
}
]
}
]
現在我想搜索(Taschenmesser)。我只需要查看所有「文本」字段。
我不知道如何做到這一點。 我想要得到的結果爲:,
{
"Id":"51004839",
"Text":"Taschenmesser (Werbeartikel)",
"Gruppen":null
}
這裏是我與搜索方法。但它不搜索嵌套嵌套嵌套數組:
$scope.SearchForGroup = function (pSearchText) {
var lGruppe = $filter('filter')($scope.WarenGruppenResponse.WarenGruppe, "Schirm")
};
這裏plunker展示問題http://plnkr.co/edit/l0cnZQPAh2HXLX1yTnLl?p=info
它*會*搜索樹中的嵌套節點。在文本框中輸入「Schirm」,你會看到ng-repeat仍然在你的數組中顯示唯一的元素。輸入「Foo」,你會看到它不再。你真的想實現什麼?如果要顯示包含輸入文本的樹的所有節點,爲什麼不將樹轉換爲平面的節點數組,然後過濾該平面數組? –
我想當我在「Schirm」出現的文本框中輸入「Schirm」而不是包含嵌套數組的「父母」數組「Schirm」 – Ertan
所以,只要按照我的建議進行操作即可。將您的樹變換爲平面的節點陣列,並通過其Text屬性過濾這些節點。這是10行代碼。 http://plnkr.co/edit/MUxMg4Pua9r1he1K6NJm?p=preview –