我有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中调用角度函数时,为什么它会被执行两次?
{{filterFormula()}}
答案 0 :(得分:47)
forEach
中迭代器的第一个参数是值,第二个是对象的键。
angular.forEach(objectToIterate, function(value, key) {
/* do something for all key: value pairs */
});
在您的示例中,外部forEach实际上是:
angular.forEach($scope.filters, function(filterObj , filterKey)
答案 1 :(得分:2)
var obj = {name: 'Krishna', gender: 'male'};
angular.forEach(obj, function(value, key) {
console.log(key + ': ' + value);
});
产生obj
的属性及其各自的值:
name: Krishna
gender: male