在本教程中,您将借助示例了解 JavaScript for…of 循环。
在 JavaScript 中,我们可以通过三种方式使用for循环。
for…of 循环是在 JavaScript ES6 的更高版本中引入的。
JavaScript 中的 for…of 循环允许您遍历可迭代对象(数组、集合、映射、字符串等)。
for…of 循环的语法是:
for (element of iterable) {
// body of for...of
}
这里,
用简单的英语,您可以将上面的代码理解为:对于 iterable 中的每个 element,运行循环体。
for…of 循环可用于遍历数组。例如,
// array
const students = ['John', 'Sara', 'Jack'];
// using for...of
for ( let element of students ) {
// display the values
console.log(element);
}
输出
John
Sara
Jack
在上面的程序中,for…of 循环用于遍历 students 数组对象并显示其所有值。
您可以使用 for…of 循环来遍历字符串值。例如,
// string
const string = 'code';
// using for...of loop
for (let i of string) {
console.log(i);
}
输出
c
o
d
e
您可以使用 for…of 循环遍历 Set 元素。例如,
// define Set
const set = new Set([1, 2, 3]);
// looping through Set
for (let i of set) {
console.log(i);
}
输出
1
2
3
您可以使用 for…of 循环遍历 Map 元素。例如,
// define Map
let map = new Map();
// inserting elements
map.set('name', 'Jack');
map.set('age', '27');
// looping through Map
for (let [key, value] of map) {
console.log(key + '- ' + value);
}
输出
name- Jack
age- 27
您可以手动创建迭代器并使用 for…of 循环遍历迭代器。例如,
// creating iterable object
const iterableObj = {
// iterator method
[Symbol.iterator]() {
let step = 0;
return {
next() {
step++;
if (step === 1) {
return { value: '1', done: false};
}
else if (step === 2) {
return { value: '2', done: false};
}
else if (step === 3) {
return { value: '3', done: false};
}
return { value: '', done: true };
}
}
}
}
// iterating using for...of
for (const i of iterableObj) {
console.log(i);
}
输出
1
2
3
由于生成器是可重用的,所以可以以更简单的方式实现迭代器。然后你可以使用 for…of 遍历生成器。例如,
// generator function
function* generatorFunc() {
yield 10;
yield 20;
yield 30;
}
const obj = generatorFunc();
// iteration through generator
for (let value of obj) {
console.log(value);
}
输出
10
20
30
for…of | for…in |
---|---|
for…of 循环用于遍历 iterable 的值。 | for…in 循环用于遍历对象的键。 |
for…of 循环不能用于遍历对象。 | 你可以用 for…in 来遍历一个可迭代的数组和字符串,但你应该避免将 for…in 用于 iterable |
for…of 循环是在ES6中引入的。一些浏览器可能不支持它的使用。要了解更多信息,请访问JavaScript for…of Support。
上一教程 :JS Inheritance 下一教程 :JS Proxies
[1] Parewa Labs Pvt. Ltd. (2022, January 1). Getting Started With JavaScript, from Parewa Labs Pvt. Ltd: https://www.programiz.com/javascript/for-of
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/zsx0728/article/details/124659103
内容来源于网络,如有侵权,请联系作者删除!