For... in 及 For… of 及 forEach
For... in 及 For… of
let arr = [
"a"
,
"b"
];
for (let a in arr) {
console.log(a) // 打印出来的是索引值
}
for (let a of arr) {
console.log(a) // 打印出来的是键值
}
简单说,区别 for in是遍历键名,for of是遍历键值
.forEach 循环
这可能是我最喜欢的一个,这仅仅是因为我非常喜欢声明式语法或通过命令式编写代码的声明性方式。
而且,尽管上面的循环语法也很好用,并且都有很好的用例,但当我们需要关注数据本身时,forEach很好用。
不管怎样,先撇开哲学上的争论不谈,.foreach方法是for循环的另一个版本,但是这个方法是数组对象的一部分,它的目的是接收一个函数和一个额外的可选参数,以便在执行函数时重新定义该函数的上下文。
对于数组中的每个元素,我们的函数都将被执行,并且它将收到三个参数(是的,就是三个,而不是一个,因为您已经习惯了使用它)。它们分别是:
- 正在处理的当前元素。
- 元素的索引,这已经简化了我们试图用for…of循环实现的任务
- 正在处理的实际数组。以防万一你需要做点什么。
那么,让我们看一个简单的示例:
a = ["hello", "world"] a.forEach ( (elem, idx, arr) => { console.log(elem, "at: ", idx, "inside: ", arr) })