📅  最后修改于: 2023-12-03 14:41:18.274000             🧑  作者: Mango
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变量,并在循环体中使用。
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变量,并在循环体中使用。
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等数据结构的方式,语法简洁,易于使用。