首頁  >  文章  >  web前端  >  JavaScript中有哪些內建可迭代物件?全面分析

JavaScript中有哪些內建可迭代物件?全面分析

PHPz
PHPz原創
2024-01-13 14:36:06751瀏覽

JavaScript中有哪些內建可迭代物件?全面分析

JS內建可迭代物件有哪些?完整解析,需要具體程式碼範例

在JavaScript中,可迭代物件指的是可以使用迭代器存取其元素的物件。在ES6之後,許多內建的資料結構都實現了可迭代協議,可以透過for...of循環或使用迭代器物件進行遍歷。

以下是JS中常見的可迭代物件:

  1. 陣列(Array):

陣列是最常見的可迭代物件。我們可以使用for...of循環或使用迭代器物件iterator來遍歷數組中的元素。下面是一個陣列物件的範例:

const arr = [1, 2, 3, 4];

// 使用for...of循环遍历
for (let item of arr) {
  console.log(item);
}

// 使用迭代器对象遍历
const iterator = arr[Symbol.iterator]();
let result = iterator.next();
while (!result.done) {
  console.log(result.value);
  result = iterator.next();
}
  1. 字串(String):

字串也是可迭代對象,我們可以直接使用for...of循環或使用迭代器物件來遍歷字串中的每個字元。

const str = 'Hello World';

// 使用for...of循环遍历
for (let char of str) {
  console.log(char);
}

// 使用迭代器对象遍历
const iterator = str[Symbol.iterator]();
let result = iterator.next();
while (!result.done) {
  console.log(result.value);
  result = iterator.next();
}
  1. 類別數組物件(Arguments):

Arguments物件是一個類別數組對象,它包含了函數呼叫時傳遞給函數的參數列表。它也是可迭代對象,因此可以使用for...of循環來遍歷其中的每個參數。

function sum() {
  for (let arg of arguments) {
    console.log(arg);
  }
}

sum(1, 2, 3, 4);
  1. Set和Map:

Set和Map是ES6引入的新資料結構,它們也是可迭代對象,可以使用for...of循環或使用迭代器物件遍歷其元素。

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

// 使用for...of循环遍历Set中的元素
for (let item of set) {
  console.log(item);
}

// 使用迭代器对象遍历Set中的元素
const iterator = set[Symbol.iterator]();
let result = iterator.next();
while (!result.done) {
  console.log(result.value);
  result = iterator.next();
}

const map = new Map([
  ['name', 'John'],
  ['age', 25]
]);

// 使用for...of循环遍历Map中的元素
for (let [key, value] of map) {
  console.log(key, value);
}

// 使用迭代器对象遍历Map中的元素
const iterator = map[Symbol.iterator]();
let result = iterator.next();
while (!result.done) {
  console.log(result.value);
  result = iterator.next();
}
  1. Generator物件:

Generator是一種特殊的函數,可以透過yield關鍵字實現暫停和恢復執行過程。 Generator物件也是可迭代對象,可以使用for...of循環或使用迭代器物件進行遍歷。

function* generatorFunc() {
  yield 1;
  yield 2;
  yield 3;
}

const generator = generatorFunc();

// 使用for...of循环遍历Generator中的元素
for (let item of generator) {
  console.log(item);
}

// 使用迭代器对象遍历Generator中的元素
const iterator = generator[Symbol.iterator]();
let result = iterator.next();
while (!result.done) {
  console.log(result.value);
  result = iterator.next();
}

總結:以上是JavaScript中常見的內建可迭代對象,它們都可以透過for...of循環或使用迭代器對象進行遍歷。透過了解這些可迭代對象,我們可以更好地使用它們提供的特性和功能。

以上是JavaScript中有哪些內建可迭代物件?全面分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn