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/zh-tw/n/135262.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
IQYS的頭像IQYS
上一篇 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

發表回復

登錄後才能評論