⊗jsSpItIOC 67 of 294 menu

Criação de um objeto iterável em JavaScript

Vamos criar um verdadeiro objeto iterável que possa ser percorrido com um loop for-of. Para isso, o objeto precisa ter uma função específica adicionada em Symbol.iterator.

Vamos implementar. Suponha que temos o seguinte objeto:

let obj = { a: 1, b: 2, c: 3, };

Vamos adicionar a função em Symbol.iterator:

obj[Symbol.iterator] = function() { }

Vamos transformar esta função em um gerador:

obj[Symbol.iterator] = function *() { }

Dentro da nossa função, this irá referenciar o próprio objeto:

obj[Symbol.iterator] = function *() { console.log(this); // o próprio objeto }

Vamos executar a iteração do objeto dentro do iterador:

obj[Symbol.iterator] = function *() { for (let key in this) { yield obj[key]; } }

Pronto, o objeto agora pode ser percorrido pelo loop for-of:

for (let elem of obj) { console.log(elem); // 1, 2, 3 }

Crie um objeto que possa ser percorrido com o loop for-of. Deixe que o elemento do loop seja um objeto, onde a chave key contenha a chave do objeto que está sendo iterado, e a chave val contenha o valor. Exemplo:

let obj = {a: 1, b: 2, c: 3}; for (let elem of obj) { console.log(elem); }

Irá exibir:

{key: 'a', val: 1} {key: 'b', val: 2} {key: 'c', val: 3}
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar