Rumah  >  Artikel  >  hujung hadapan web  >  Apakah objek lelaran terbina dalam dalam JavaScript? Analisis menyeluruh

Apakah objek lelaran terbina dalam dalam JavaScript? Analisis menyeluruh

PHPz
PHPzasal
2024-01-13 14:36:06798semak imbas

Apakah objek lelaran terbina dalam dalam JavaScript? Analisis menyeluruh

Apakah objek boleh lelar terbina dalam dalam JS? Analisis penuh memerlukan contoh kod khusus

Dalam JavaScript, objek boleh lelar merujuk kepada objek yang elemennya boleh diakses menggunakan iterator. Selepas ES6, banyak struktur data terbina dalam melaksanakan protokol lelaran dan boleh dilalui melalui gelung for...of atau menggunakan objek lelaran.

Berikut ialah objek lelaran biasa dalam JS:

  1. Array (Array):

Array ialah objek lelaran yang paling biasa. Kita boleh menggunakan gelung for...of atau menggunakan objek iterator untuk mengulangi elemen dalam tatasusunan. Berikut ialah contoh objek tatasusunan:

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 (String):

String juga adalah objek boleh lelar Kita boleh terus menggunakan gelung for...of atau menggunakan objek iterator untuk melintasi setiap elemen dalam rentetan.

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. Objek seperti tatasusunan (Argumen):

Objek hujah ialah objek seperti tatasusunan yang mengandungi senarai parameter yang dihantar ke fungsi apabila fungsi dipanggil. Ia juga merupakan objek boleh lelar, jadi anda boleh menggunakan gelung for...of untuk melelaran setiap parameter di dalamnya.

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

sum(1, 2, 3, 4);
  1. Set dan Peta:

Set dan Peta ialah struktur data baharu yang diperkenalkan dalam ES6, ia juga merupakan objek boleh lelar dan elemennya boleh dilalui menggunakan gelung for...of atau menggunakan objek lelaran.

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. Objek penjana:

Penjana ialah fungsi khas yang boleh menjeda dan menyambung semula proses pelaksanaan melalui kata kunci hasil. Objek penjana juga merupakan objek boleh lelar dan boleh dilalui menggunakan gelung for...of atau menggunakan objek lelaran.

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();
}

Ringkasan: Perkara di atas ialah objek boleh lelar terbina dalam biasa dalam JavaScript, dan semuanya boleh dilalui untuk...gelung atau menggunakan objek lelaran. Dengan memahami objek boleh lelar ini, kami boleh menggunakan ciri dan fungsi yang disediakan dengan lebih baik.

Atas ialah kandungan terperinci Apakah objek lelaran terbina dalam dalam JavaScript? Analisis menyeluruh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel berkaitan

Lihat lagi