📅  最后修改于: 2023-12-03 15:00:37.220000             🧑  作者: Mango
在 ES6 中提供了新的遍历方法 for...of
循环,用于遍历可迭代对象(例如数组、字符串、Map、Set等等)中的元素。
for (let element of iterable) {
// 循环体代码块
}
其中,iterable
是一个可迭代对象,element
声明用于存储当前迭代的元素,循环体内执行的代码会对每个元素都执行一遍。
const arr = ['a', 'b', 'c'];
for (let element of arr) {
console.log(element);
}
// 输出 a, b, c
const str = 'hello';
for (let element of str) {
console.log(element);
}
// 输出 h, e, l, l, o
for...of
循环只能遍历可迭代对象中的元素,无法获取索引(如需要获取索引请使用 for...in
循环)。Symbol.iterator
方法,该方法返回一个迭代器对象,用于迭代元素。Symbol.iterator
是否存在来进行判断。const obj = { a: 1, b: 2 };
console.log('Symbol.iterator' in obj); // 输出 false
for...of
循环在 ES6 中引入,因此兼容性不佳。建议在使用前检查浏览器支持度,或使用编译工具进行转换。