22

我有如下 JSON 对象

{
    "txt_inc_Application": {
        "EWS": true,
        "EWindow": true
    },
    "txt_inc_IncidentType": {
        "Brand Damage": true,
        "Internal failure": true
    }
}

我正在使用 angular.forEach 来获取值

$scope.filterFormula=function() {
    angular.forEach($scope.filters, function(filterObj , filterIndex) {
        angular.forEach(filterObj, function(value , key) {
            console.log(value+"--"+key)
        })
    })
}

如何在循环中获取“txt_inc_Application”和“txt_inc_IncidentType”?

另外,当在 html 中调用 angular 函数时,为什么它会被执行两次?

{{filterFormula()}}

在此处输入图像描述

4

2 回答 2

48

迭代器的第一个参数forEach是值,第二个是对象的键。

angular.forEach(objectToIterate, function(value, key) {
    /* do something for all key: value pairs */
});

在您的示例中,外部 forEach 实际上是:

angular.forEach($scope.filters, function(filterObj , filterKey)
于 2013-08-23T06:43:16.383 回答
2
var obj = {name: 'Krishna', gender: 'male'};
angular.forEach(obj, function(value, key) {
    console.log(key + ': ' + value);
});

产生 的属性obj及其各自的值:

name: Krishna
gender: male
于 2017-03-18T12:29:00.730 回答