Objetivos
    
    
    
        
Iterador
    
    
        
            
                Um iterador, unidirecional, é tipo do dado que em seu conteúdo são armazenados referências para 
                elementos de vetor, estrutura de dados dinâmica ou semelhantes.
            
            
                Tab. 1: Abstração de um iterador
                
                    
                        | referência 0 | 
                        referência 1 | 
                        referência 2 | 
                        (...)  | 
                        referência N | 
                    
                
                
                    
                        | elemento 0 | 
                        elemento 1 | 
                        elemento 2 | 
                        (...) | 
                        elemento N | 
                    
                
            
            
                Para iterarmos um tipo de dado iterador utilizamos os comandos de repetição 
                for of-in, por exemplo. 
            
            Sintaxe
            
for ( let [chave, valor] of <iteravel>){
 //corpo for
}
         
     
    
    
        
            
                Para recuperarmos o iterador, precisamos invocar o método entries de alguma 
                coleção que tenha suporte. Como exemplo, vamos utilizar a classe Array nativa:
            
            Sintaxe
            
nome_array.entries();
            Exemplo 1
            
let dados = [1,2,3,4];
iterador = dados.entries();
  
for ( let [chave,valor] of iterador)
  console.log(chave,":",valor);
            Saída
            
0 : 1
1 : 2
2 : 3
3 : 4
            
                Os comandos for-of e for-in invocam o métódo next internamente 
                a cada loop/laço realizado nesses comandos.
            
         
     
    
    
        
            
                Todo iterável deve implementar o método next que retorna próximo elemento 
                contido no iterável. O acesso ao conteúdo de um iterador é feito de forma 
                unidirecional.
            
            Sintaxe
            
objeto = nome_iterador.next();
            Onde
            objeto: próximo valor índice/chave, valor e done indicando elemento existe.
            Retorno
            Objeto iterável no formato { value : [indice,valor], done : true ou false}
            Exemplo 2
            
let dados = [1];
iterador = dados.entries();
proximo = iterador.next();
console.log(proximo);
console.log(proximo.value);
console.log(proximo.done);
            Saída
            
{ value: [ 0, 1 ], done: false }
[ 0, 1 ]
false
            
         
     
    
        Histórico de atualizações
        
     
    
        
            
                - 15/08/2025 - revisão 3 - Ajustes: pontuais, remoção lixo e objetivos 
 
                - 26/09/2024 - revisão 2 - Adição de 'tab. 1'; correção: 'Recuperando um iterador'; ajustes pontuais
 
                - 05/10/2023 - revisão 1 - Correção em layout, navegação, erros gramaticais
 
                - 31/05/2023 - versão inicial
 
            
         
     
    
            
            
                
                    
                    Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
                em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.