当前位置:首页 > 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实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…

js实现原理

js实现原理

JavaScript 实现原理 JavaScript 是一种解释型语言,其实现原理涉及多个核心组件和运行机制,包括引擎、运行时环境、事件循环等。 引擎与解释执行 现代 JavaScript 引擎(如…

js实现图片滚动

js实现图片滚动

图片滚动的实现方法 使用CSS动画实现 通过CSS的animation和@keyframes可以实现简单的图片滚动效果。这种方法适合静态图片的无缝循环滚动。 <style> .scr…