for...in与forEach()

for…in

语法:

1
2
for (variable in object)
statement

为什么用 for…in
for…in是为遍历对象属性而构建的,不建议与数组一起使用,数组可以用Array.prototype.forEach()和for…of(),那么for…in到底有什么用呢?

它最常用的地方应该是用于调试,可以更方便的去检查对象属性(通过输出到控制台或其他方式)。尽管对于处理存储数据,数组更实用些,但是你在处理有key-value数据(比如属性用作“键”),需要检查其中的任何键是否为某值的情况时,还是推荐用for … in。

forEach()

语法:
arr.forEach(callback(currentValue [, index [, array]])[, thisArg])
参数
callback
为数组中每个元素执行的函数,该函数接收一至三个参数:
currentValue
数组中正在处理的当前元素。
index(可选)
数组中正在处理的当前元素的索引。
array(可选)
forEach() 方法正在操作的数组。
thisArg(可选)
可选参数。当执行回调函数 callback 时,用作 this 的值。

描述:
forEach() 方法按升序为数组中含有效值的每一项执行一次 callback 函数。
可依次向 callback 函数传入三个参数:
1.数组当前项的值
2.数组当前项的索引
3.数组对象本身