js中forof的用法

原创
ithorizon 1个月前 (10-03) 阅读数 99 #Javascript

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 循环同样赞成使用 breakcontinue 语句来控制循环流程:

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.keysObject.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 来遍历对象的属性。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: Javascript


热门