AngularJS搜索过滤器将数组转换为对象

时间:2016-01-24 08:03:02

标签: javascript angularjs json

我在JSON的对象数组中查找ID。 示例JSON:

{
    "Przydzial": [{
            "M": "Cos",
            "Przydzialt": [{
                    "Name": "",
                    "Przydz": "tach_1",
                    "Cos": "Pod",
                    "Ha": "20",
                    "ID": "94"
                }, {
                    "Name": "B_K",
                    "Przydz": "lea",
                    "Cos": "Chea",
                    "HA": "8",
                    "ID": "78"
                }
            }]
    }]
}

在控制器中使用

var foo = { //my json };
var nowy = $filter('filter')(foo.Przydzialt, { ID:78});

结果:

console.log(nowy); // undefined

json是正确的 - 在JSLint中验证。

1 个答案:

答案 0 :(得分:1)

As" $ foo.Przydzial"是一个对象数组,其中每个对象都有它的" Przydzialt"属性,你应该在循环中执行$ filter:

var newArray;

angular.forEach($foo.Przydzial, function (el) {
    newArray = $filter('filter')(el.Przydzialt, {ID: 78});
    console.log(newArray);
});