返回
谈谈js中常见的循环迭代:for循环、forEach、for...in... for...of...
前端
2023-12-17 14:00:24
在JavaScript中,循环迭代是经常用到的操作,它可以让我们遍历数组、对象和其他数据结构。在JavaScript中,有几种不同的循环迭代方法,包括 for 循环、forEach、for...in... 和 for...of...。每种方法都有自己的特点和使用场景。
for 循环
for 循环是最基本也是最常用的循环迭代方法。它的语法如下:
for (let i = 0; i < array.length; i++) {
// 循环体
}
for 循环的循环变量 i 从 0 开始,每次循环递增 1,直到 i 等于 array.length。在每次循环中,循环体会执行一次。
forEach
forEach 是数组的内置方法,它可以用来遍历数组中的每个元素。它的语法如下:
array.forEach((element, index, array) => {
// 循环体
});
forEach 的第一个参数是数组中的元素,第二个参数是元素的索引,第三个参数是数组本身。forEach 方法不会返回任何值。
for...in...
for...in... 循环可以用来遍历对象的可枚举属性。它的语法如下:
for (let property in object) {
// 循环体
}
for...in... 循环的循环变量 property 是对象的可枚举属性的名称。在每次循环中,循环体会执行一次。
for...of...
for...of... 循环可以用来遍历数组、字符串和Set和Map数据结构。它的语法如下:
for (let element of array) {
// 循环体
}
for...of... 循环的循环变量 element 是数组、字符串或Set和Map数据结构中的元素。在每次循环中,循环体会执行一次。
比较
这四种循环迭代方法各有优缺点。下表对它们进行了比较:
循环迭代方法 | 优点 | 缺点 |
---|---|---|
for 循环 | 最基本、最常用的循环迭代方法 | 冗长 |
forEach | 简洁、易用 | 不能使用 break 和 continue 语句 |
for...in... | 可以遍历对象的可枚举属性 | 不能遍历数组 |
for...of... | 可以遍历数组、字符串和Set和Map数据结构 | 不能使用 break 和 continue 语句 |
使用建议
根据不同的使用场景,我们可以选择不同的循环迭代方法。
- 如果需要遍历数组,可以使用 forEach 或 for...of... 循环。
- 如果需要遍历对象的可枚举属性,可以使用 for...in... 循环。
- 如果需要使用 break 或 continue 语句,可以使用 for 循环。
兼容性
for 循环、forEach 和 for...in... 循环在所有浏览器中都是兼容的。for...of... 循环在IE11及更高版本中是兼容的。