📜  for of 循环 (1)

📅  最后修改于: 2023-12-03 14:41:18.274000             🧑  作者: Mango

for of 循环

ES6引入了一个新类型的循环,for of循环,它可以更方便地迭代数组、字符串等数据结构。

基本语法

for of循环通过关键字for,配合of关键字,可以遍历可迭代的对象,例如数组、字符串等。

const arr = ['a', 'b', 'c'];
for(const item of arr) {
    console.log(item);
}
//输出
//a
//b
//c

在上面的例子中,arr是一个数组,for of循环每次迭代都会把数组中的元素赋值给item变量,并在循环体中使用。

遍历字符串

for of循环不仅可以遍历数组,还可以遍历字符串。

const str = 'hello';
for(const char of str) {
    console.log(char);
}
//输出
//h
//e
//l
//l
//o

在上面的例子中,str是一个字符串,for of循环每次迭代都会把字符串中的字符赋值给char变量,并在循环体中使用。

遍历Map对象

for of循环可以遍历Map对象,每次迭代返回一个数组,包含两个元素:键和值。

const map = new Map([['name', 'Alice'], ['age', 18]]);
for(const [key, value] of map) {
    console.log(`${key}: ${value}`);
}
//输出
//name: Alice
//age: 18

在上面的例子中,map是一个Map对象,for of循环每次迭代都会把Map对象中的键和值赋值给key和value变量,并在循环体中使用。

遍历Set对象

for of循环可以遍历Set对象,每次迭代返回Set对象中的一个值。

const set = new Set(['a', 'b', 'c']);
for(const item of set) {
    console.log(item);
}
//输出
//a
//b
//c

在上面的例子中,set是一个Set对象,for of循环每次迭代都会把Set对象中的一个值赋值给item变量,并在循环体中使用。

注意事项

for of循环不能遍历普通的对象,如果需要遍历对象的属性,可以使用for in循环。

const obj = {name: 'Alice', age: 18};
for(const key in obj) {
    console.log(`${key}: ${obj[key]}`);
}
//输出
//name: Alice
//age: 18
结论

for of循环是一种方便的遍历数组、字符串、Map、Set等数据结构的方式,语法简洁,易于使用。