JavaScript中的for…of循环

一、jsforof与forin的用法和区别

在JavaScript中,有两种常见的遍历数组元素的方式:for…of循环和for…in循环。

for…in循环用于遍历对象中的属性,而for…of循环用于遍历可迭代对象中的值。可迭代对象指的是具有Symbol.iterator属性的对象。

// for...in循环示例
const obj = {
  a: 1,
  b: 2,
  c: 3
};

for(let prop in obj) {
  console.log(prop + ': ' + obj[prop]);
}
//输出结果:
//a: 1
//b: 2
//c: 3

// for...of循环示例
const arr = [1, 2, 3];

for(let value of arr) {
  console.log(value);
}
//输出结果:
//1
//2
//3

可以看到,for…in循环遍历的是对象的属性,for…of循环遍历的是值。

二、jsforof的用法与区别

除了遍历数组,for…of循环还可以遍历其他类型的可迭代对象,例如字符串、Set和Map等。

// 遍历字符串
const str = 'hello';

for(let char of str) {
  console.log(char);
}
//输出结果:h e l l o

// 遍历Set
const set = new Set([1, 2, 3]);

for(let value of set) {
  console.log(value);
}
//输出结果:1 2 3

// 遍历Map
const map = new Map([['a', 1], ['b', 2], ['c', 3]]);

for(let entry of map) {
  console.log(entry);
}
//输出结果:['a', 1] ['b', 2] ['c', 3]

需要注意的是,for…of循环不仅可以遍历数组等自带迭代器的对象,还可以遍历实现了迭代器协议的对象。

// 自定义迭代器
const obj = {
  data: ['a', 'b', 'c'],
  [Symbol.iterator]: function() {
    let index = 0;

    return {
      next: () => {
        if(index < this.data.length) {
          return { value: this.data[index++], done: false };
        } else {
          return { done: true };
        }
      }
    };
  }
};

for(let value of obj) {
  console.log(value);
}
//输出结果:a b c

需要注意的是,for…of循环不仅可以遍历数组等自带迭代器的对象,还可以遍历实现了迭代器协议的对象。

三、jsforof有什么用

使用for…of循环可以更加简洁地遍历数组和其他可迭代对象,避免了for循环中的索引值管理和越界问题。

同时,for…of循环还可以遍历实现了迭代器协议的对象,使得程序的可扩展性更好。

总之,for…of循环是现代JavaScript开发中一个非常实用的功能。

原创文章,作者:IQYS,如若转载,请注明出处:https://www.506064.com/n/135262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
IQYSIQYS
上一篇 2024-10-04 00:11
下一篇 2024-10-04 00:11

相关推荐

  • Python for循环求1到100的积

    Python中的for循环可以方便地遍历列表、元组、字典等数据类型。本文将以Python for循环求1到100的积为中心,从多个方面进行详细阐述。 一、for循环语法 Pytho…

    编程 2025-04-29
  • eslint no-loss-of-precision requires at least eslint v7.1.0

    这篇文章将从以下几个方面详细阐述eslint no-loss-of-precision requires至少需要eslint v7.1.0版本的问题: 一、概述 如果使用较老的es…

    编程 2025-04-29
  • Python使用for循环打印99乘法表用法介绍

    本文介绍如何使用python的for循环语句来打印99乘法表,我们将从需要的基本知识、代码示例以及一些加强版来详细讲解。 一、基础知识 在学习如何使用for循环打印99乘法表之前,…

    编程 2025-04-29
  • Python for循环优化

    本文将介绍如何对Python中的for循环进行优化。 一、使用range()代替直接迭代 Python中的for循环本质上是一种迭代操作,可以对列表、元组、集合等数据结构进行遍历。…

    编程 2025-04-28
  • in和for的用法区别

    对于Python编程中的in和for关键词,我们在实际编码中很容易混淆。本文将从多个方面详细阐述它们的用法区别,帮助读者正确使用in和for。 一、in关键词 in是用来判断一个元…

    编程 2025-04-28
  • 使用JavaScript日期函数掌握时间

    在本文中,我们将深入探讨JavaScript日期函数,并且从多个视角介绍其应用方法和重要性。 一、日期的基本表示与获取 在JavaScript中,使用Date对象来表示日期和时间,…

    编程 2025-04-28
  • JavaScript中使用new Date转换为YYYYMMDD格式

    在JavaScript中,我们通常会使用Date对象来表示日期和时间。当我们需要在网站上显示日期时,很多情况下需要将Date对象转换成YYYYMMDD格式的字符串。下面我们来详细了…

    编程 2025-04-27
  • Python递减for循环代码的实现

    Python中的for循环可以通过递减实现,递减for循环通常用于倒序遍历列表、字符串等数据结构。在本文中,我们将从多个方面对Python递减for循环代码做详细的阐述,包括实现方…

    编程 2025-04-27
  • Python利用for循环实现三角形的绘制

    Python是一种高级编程语言,也是非常适合初学者学习的一种编程语言。本文将详细介绍如何利用Python中的for循环来实现三角形的绘制。通过本文的学习,大家可以对Python的基…

    编程 2025-04-27
  • Python for循环items用法介绍

    Python是一种高级语言,具有简单易学,代码量少,语法清晰的特点。其中for循环是Python中最常见的循环语句之一,而for循环中的items更是让我们又爱又恨的语法。下面将从…

    编程 2025-04-27

发表回复

登录后才能评论