js中forof的用法
原创JavaScript 中 for...of 的用法
在 JavaScript 中,for...of
语句是一种迭代语句,用于遍历可迭代对象(如数组、字符串、集合等)中的每个元素。这种循环方案简洁且易于使用,特别适用于读取数据而无需知道对象的内部结构。
基本用法
下面是 for...of
循环的基本结构:
for (let item of iterable) {
// 使用 item 进行操作
}
在这个结构中,iterable
是一个可迭代对象,每次循环中,变量 item
会被赋予当前遍历到的元素值。
遍历数组
下面是怎样使用 for...of
来遍历一个数组中的每个元素:
let fruits = ['apple', 'banana', 'cherry'];
for (let fruit of fruits) {
console.log(fruit);
}
上面的代码会输出:
apple
banana
cherry
遍历字符串
for...of
同样适用于字符串,遍历每个字符:
let string = 'hello';
for (let char of string) {
console.log(char);
}
上面的代码将打印出:
h
e
l
l
o
遍历 Map
对于 Map
对象,for...of
会按插入顺序遍历每个键值对:
let map = new Map([
['a', 1],
['b', 2],
['c', 3]
]);
for (let [key, value] of map) {
console.log(key, value);
}
上面的代码将输出:
a 1
b 2
c 3
使用 break 和 continue
for...of
循环同样赞成使用 break
和 continue
语句来控制循环流程:
for (let fruit of fruits) {
if (fruit === 'banana') {
break; // 如果是香蕉,则停止循环
}
console.log(fruit);
}
// 或者在遇到特定条件时跳过当前迭代
for (let fruit of fruits) {
if (fruit === 'banana') {
continue; // 跳过香蕉,继续下一个元素
}
console.log(fruit);
}
遍历对象
需要注意的是,普通的对象并不是可迭代的(除非自定义了迭代行为),由此不能直接使用 for...of
循环。但是,可以使用 Object.keys
或 Object.entries
来遍历对象的键或键值对:
let obj = { a: 1, b: 2, c: 3 };
for (let key of Object.keys(obj)) {
console.log(key, obj[key]);
}
// 遍历键值对
for (let [key, value] of Object.entries(obj)) {
console.log(key, value);
}
这样就可以在需要时,间接地使用 for...of
来遍历对象的属性。