有什么方法可以在角度foreach中获取迭代次数(当迭代像{'foo': 'blah', 'blah': 'foo'}
这样的对象时?
因此,在这种情况下使用我的迭代器函数,值将是' blah'然后' foo'而关键将是' foo'然后' blah'
答案 0 :(得分:0)
Angulars forEach
在迭代对象时不会告诉您迭代对象键的次数。
当迭代一个数组时,它不会告诉你它运行了多少次但它在数组中的当前位置。这可能只是我迂腐,但存在差异。
但是,可以在对象键中提供其当前位置的替代方法是使用本机Object.keys()
。它将返回一个对象键的数组,然后你可以像普通数组一样迭代它们,并获得你在该数组中的当前位置。
var obj = {'foo': 'blah', 'blah': 'foo'};
Object.keys(obj)
.forEach(function (key, index) {
console.log('Key', key, 'Value', obj[key]);
console.log('Ive ran ', index);
});
DOCS:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
答案 1 :(得分:-1)
是的,就像这样:
angular.forEach(array, function (item, index) {
//index
});
答案 2 :(得分:-2)
是的,它是直接从角度文档
传递给foreach函数调用的第二个参数https://docs.angularjs.org/api/ng/function/angular.forEach
angular.forEach(obj, iterator, [context]);
答案 3 :(得分:-2)
angular.forEach(var,function(value,key){
console.log(key);
})