使用Array.prototype.forEach()方法
Using Array.prototype.forEach() Method
据说forEach()方法用于遍历任何数组,比如对象,但是这里
Array.prototype.forEach.call({1:"a",2:"b"},function(eleVal,ele){alert(eleVal+":"+ele)})
上面的代码不工作,为什么??
因为{1: "a", 2: "b"}
不是数组,它是对象。Array.forEach
要求它的目标具有length
属性,而这个对象没有。
尝试使用一个数组,如["a", "b"]
,它将工作,或者使用与数组相似的
{0: "a", 1: "b", length: 2}
给对象添加一个.length
属性,它就会起作用了。
请注意,你的索引将从0开始,所以第一个元素将是未定义的。
[].slice.call({1: 'a', 2: 'b', length: 3})
[undefined × 1, "a", "b"]
另一种方法。我更喜欢这个,因为它不修改原始对象。
var obj = {1:"a", 2:"b"};
for(var i in obj) { if(obj.hasOwnProperty(i)) console.log(i + ':' + obj[i]); }
相关文章:
- 在JavaScript中中断forEach方法的首选方法
- 将id/类放在HTML中的正确方法是使用foreach来获得确切的值
- 不能调用未定义节点.js的方法“forEach”
- 每次迭代在 Foreach 循环中重复 PHP 睡眠方法
- 如何删除“对象在节点中没有方法'forEach'错误.js”
- 使用 forEach 方法修改 dom 元素
- JavaScript 方法 array.forEach 在 Chrome 中工作吗?
- MongoDB aggregate() - 错误“TypeError: 无法调用未定义的方法'forEach
- 不理解此forEach()方法的输出
- 使用敲除foreach绑定绑定方法名称
- 回调函数的定义以及它如何适用于array.prototype.forEach/map/filter方法
- Jquery.ech()和Array.prototype.forEach()方法的区别
- 如何在knockout.js中的foreach中使用computed方法
- 使用Array.prototype.forEach()方法
- 在Foreach循环中调用Async方法
- JavaScript: Internet Explorer不支持forEach方法
- AngularJS: forEach http get data -等待其他方法,直到所有来自循环的数据被加载
- 为什么字符串变量可以通过JS中的调用使用forEach方法
- node.js:如何在forEach循环中实现一个带有异步调用的路由方法
- 类型错误:无法调用未定义的方法“forEach”