Maison > interface Web > js tutoriel > Itérable - Défis JavaScript

Itérable - Défis JavaScript

Patricia Arquette
Libérer: 2024-11-03 19:22:29
original
948 Les gens l'ont consulté

Iterable - JavaScript Challenges

Vous pouvez trouver tout le code dans cet article sur le dépôt Github.


Défis liés aux itérables


Itérable

/**
 * @param {any} data
 * @return {object}
 */

function createCustomIterable(data) {
  return {
    [Symbol.iterator]() {
      let index = 0;
      return {
        next() {
          if (index < data.length) {
            return {
              value: data[index++],
              done: false,
            };
          } else {
            return {
              value: undefined,
              done: true,
            };
          }
        },
      };
    },
  };
}

// Usage example:
const customIterable = createCustomIterable([1, 2, 3, 4]);

// Using for...of loop
for (const item of customIterable) {
  console.log(item);
}
/**
 * 1
 * 2
 * 3
 * 4
 */

// Using spread operator
const arrayFromIterable = [...customIterable];
console.log(arrayFromIterable); // => [1, 2, 3, 4]

// Using Array.from()
const anotherArray = Array.from(customIterable);
console.log(anotherArray); // => [1, 2, 3, 4]
Copier après la connexion

Référence

  • Itérateur - MDN
  • Protocoles d'itération - MDN
  • [Iterator.prototypeSymbol.iterator - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/Symbol.iterator)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal