当前位置:首页 > JavaScript

js实现forof

2026-04-05 22:52:37JavaScript

for...of 循环的基本用法

for...of 循环用于遍历可迭代对象(如数组、字符串、Map、Set 等),直接获取值而非索引。

const arr = [1, 2, 3];
for (const item of arr) {
  console.log(item); // 输出: 1, 2, 3
}

遍历字符串

字符串是可迭代对象,可以逐字符遍历:

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

遍历 Map 和 Set

Map 和 Set 也是可迭代对象:

const map = new Map([['a', 1], ['b', 2]]);
for (const [key, value] of map) {
  console.log(key, value); // 输出: a 1, b 2
}

const set = new Set([1, 2, 3]);
for (const val of set) {
  console.log(val); // 输出: 1, 2, 3
}

与 for...in 的区别

for...of 遍历值,for...in 遍历键(或属性名):

const arr = [10, 20, 30];
for (const index in arr) {
  console.log(index); // 输出: 0, 1, 2(字符串类型)
}
for (const value of arr) {
  console.log(value); // 输出: 10, 20, 30
}

提前终止或跳过

使用 break 终止循环或 continue 跳过当前迭代:

const nums = [1, 2, 3, 4, 5];
for (const num of nums) {
  if (num === 3) break;
  console.log(num); // 输出: 1, 2
}

自定义可迭代对象

实现 Symbol.iterator 方法使对象支持 for...of:

js实现forof

const myIterable = {
  [Symbol.iterator]: function* () {
    yield 1;
    yield 2;
    yield 3;
  }
};
for (const val of myIterable) {
  console.log(val); // 输出: 1, 2, 3
}

标签: jsforof
分享给朋友:

相关文章

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js实现上传文件

js实现上传文件

文件上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现文件上传功能。 <input type="file"…