Programação
Radzivon Alkhovik
Entusiasta da automação de baixo código
4 de julho de 2024
A iteração de array é um conceito fundamental em JavaScript que permite aos desenvolvedores fazer um loop e manipular elementos dentro de um array. O JavaScript fornece uma variedade de métodos para iterar sobre arrays, desde loops tradicionais (while, do...while, for, for...in, for...of) até métodos de array modernos (forEach, map, filter, reduce, reduceRight). Cada método é adequado para diferentes tarefas, como filtragem, transformação ou redução de dados. Métodos avançados como flatMap, Array.from, keys, entries e o operador spread oferecem flexibilidade e funcionalidade adicionais. Dominar essas técnicas permite que os desenvolvedores escrevam código conciso, eficiente e expressivo para lidar com arrays, o que é essencial para construir aplicativos JavaScript robustos. Entender esses métodos também garante compatibilidade com navegadores modernos, tornando-os práticos para o desenvolvimento web contemporâneo.
Key Takeaways: O JavaScript oferece vários métodos para iteração de array, incluindo loops tradicionais (while, do...while, for, for...in, for...of) e métodos de array modernos (forEach, map, filter, reduce, reduceRight). Cada método tem recursos exclusivos adequados para diferentes casos de uso, de iterações simples a transformações complexas. Dominar essas técnicas permite que os desenvolvedores escrevam código eficiente e expressivo para manipular arrays, essencial para construir aplicativos JavaScript poderosos. A maioria dos métodos é suportada em navegadores modernos, garantindo ampla compatibilidade.
Loops em JavaScript são estruturas de controle que permitem que desenvolvedores executem repetidamente um bloco de código até que uma condição específica seja atendida. Eles fornecem uma maneira de automatizar tarefas repetitivas e processar matrizes ou coleções de dados de forma eficiente. JavaScript oferece vários tipos de loops, incluindo while, do...while, for, for...in e for...of, cada um com sua própria sintaxe e casos de uso.
O loop while através de array de objetos javascript executa um bloco de código enquanto uma condição especificada for avaliada como verdadeira. É um loop versátil que pode ser usado para iterar sobre arrays gerenciando manualmente a variável index. Aqui está um exemplo de uso de um loop while para iterar sobre um array:
Neste exemplo, o loop while continua a executar enquanto o índice i for menor que o comprimento do array numbers. O loop imprime cada elemento no console e incrementa a variável index.
O loop do...while é similar ao loop while, mas garante que o bloco de código seja executado pelo menos uma vez antes de verificar a condição. Aqui está um exemplo de uso de um loop de array do...while em javascript:
Neste caso, o loop imprime cada fruta no console e incrementa a variável index. O loop continua até que a condição i < fruits.length seja avaliada como false.
O loop for é uma estrutura de loop compacta e comumente usada em JavaScript. Ele combina as expressões de inicialização, condição e incremento/decremento em uma única linha. Aqui está um exemplo de uso de um loop for para iterar sobre um array:
O loop for inicializa a variável de índice i para 0, verifica a condição i < colors.length e incrementa i após cada iteração. O loop imprime cada cor no console.
O loop for...in é usado para iterar sobre as propriedades de um objeto. Quando usado com arrays, ele itera sobre os índices do array. Aqui está um exemplo:
Neste exemplo, o loop for...in itera sobre os índices do array people. Ele imprime cada índice e seu valor correspondente no console.
O loop for...of, introduzido no ECMAScript 2015 (ES6), fornece uma maneira mais concisa e legível de iterar sobre objetos iteráveis, incluindo arrays. Ele acessa diretamente os valores do array sem a necessidade de uma variável de índice. Aqui está um exemplo:
javascript
Neste caso, o loop for...of itera sobre cada elemento do array numbers e o atribui à variável number. O loop imprime cada número no console.
O método forEach() é um método de array interno que executa uma função fornecida uma vez para cada elemento do array. Ele oferece uma abordagem mais expressiva e funcional para iteração de array. Aqui está um exemplo:
Neste exemplo, o método forEach() é chamado no array fruits. Ele pega uma arrow function como argumento, que recebe cada fruit como parâmetro e a imprime no console.
O JavaScript fornece vários outros métodos de iteração de array que oferecem capacidades poderosas para manipular e transformar arrays. Esses métodos incluem:
Exploraremos esses métodos com mais detalhes nas seções a seguir.
O método forEach() executa uma função fornecida uma vez para cada elemento do array. Ele não retorna um novo array, mas permite que você execute uma ação em cada elemento. Aqui estão alguns exemplos:
Neste exemplo, o método forEach() é usado para imprimir cada número na matriz de números no console.
Neste exemplo, o método forEach() é usado para converter cada fruta no array fruits para maiúsculas e colocá-la em um novo array upperCaseFruits.
O método map() cria um novo array chamando uma função fornecida em cada elemento do array. Ele retorna um novo array com os resultados da chamada de função para cada elemento. Aqui estão alguns exemplos:
Neste exemplo, o método map() é usado para criar uma nova matriz squaredNumbers elevando ao quadrado cada número na matriz numbers.
Neste exemplo, o método map() é usado para extrair a propriedade name de cada objeto no array persons e criar um novo array names contendo apenas os nomes.
O método filter() cria um novo array com todos os elementos que passam no teste implementado pela função fornecida. Ele retorna um novo array contendo os elementos que satisfazem a condição. Aqui estão alguns exemplos:
Neste exemplo, o método filter() é usado para criar uma nova matriz evenNumbers filtrando a matriz de números para incluir apenas números pares.
Neste exemplo, o método filter() é usado para criar uma nova matriz adultPersons filtrando a matriz persons para incluir apenas pessoas com 18 anos ou mais.
O método reduce() executa uma função redutora em cada elemento do array, resultando em um único valor de saída. Ele pega um acumulador e o elemento atual como argumentos e retorna o acumulador para a próxima iteração. Aqui estão alguns exemplos:
Neste exemplo, o método reduce() é usado para calcular a soma de todos os números no array numbers. O valor inicial do acumulador é definido como 0.
Neste exemplo, o método reduce() é usado para concatenar todas as palavras no array words em uma única frase. O acumulador é inicializado com uma string vazia.
Neste exemplo, o método reduce() é usado para calcular a idade total de todas as pessoas no array persons. O acumulador é inicializado como 0.
O método reduceRight() é similar ao método reduce(), mas ele executa a função reducer da direita para a esquerda (do último elemento para o primeiro elemento). Aqui estão alguns exemplos:
Neste exemplo, o método reduceRight() é usado para calcular a soma de todos os números na matriz de números, começando do último elemento e indo em direção ao primeiro elemento.
Neste exemplo, o método reduceRight() é usado para concatenar todas as palavras na matriz de palavras em uma única frase, começando pela última palavra e indo em direção à primeira palavra.
O método every() testa se todos os elementos no array passam no teste implementado pela função fornecida. Ele retorna true se a função retorna true para todos os elementos, e false caso contrário. Aqui estão alguns exemplos:
Neste exemplo, o método every() é usado para verificar se todos os números no array numbers são pares. Ele retorna true, pois todos os números satisfazem a condição.
Neste exemplo, o método every() é usado para verificar se todas as pessoas no array persons são adultas (idade maior ou igual a 18). Ele retorna true, pois todas as pessoas satisfazem a condição.
O método some() testa se pelo menos um elemento no array passa no teste implementado pela função fornecida. Ele retorna true se a função retorna true para pelo menos um elemento, e false caso contrário. Aqui está um exemplo:
Neste exemplo, o método some() é usado para verificar se há pelo menos um número par no array numbers. Ele retorna true, pois o array contém números pares.
JavaScript fornece métodos adicionais de iteração de array que oferecem funcionalidade mais avançada. Esses métodos incluem:
Vamos explorar esses métodos com mais detalhes.
O método flatMap() primeiro mapeia cada elemento de um array usando uma função de mapeamento, então achata o resultado em um novo array. Ele combina a funcionalidade de map() e flat() em um único método. Aqui está um exemplo:
Neste exemplo, o método flatMap() é usado para mapear cada número na matriz de números para uma matriz contendo o número e seu duplo e, então, achatar as matrizes resultantes em uma única matriz.
O método flatMap() é compatível com navegadores modernos, incluindo Chrome 69+, Edge 79+, Firefox 62+, Safari 12+ e Opera 56+.
O método Array.from() cria um novo array a partir de um objeto iterável ou semelhante a um array. Ele permite que você converta objetos que tenham uma propriedade length e elementos indexados em um array. Aqui está um exemplo:
exemplo de array em javascript:
Neste exemplo, o método Array.from() é usado para converter um objeto semelhante a uma matriz em uma matriz real.
O método Array.from() é suportado em navegadores modernos, incluindo Chrome 51+, Edge 15+, Firefox 54+, Safari 10+ e Opera 38+. Ele não é suportado no Internet Explorer.
O método keys() retorna um novo objeto Array Iterator que contém as chaves para cada índice no array. Ele permite que você itere sobre os índices do array. Aqui está um exemplo:
Neste exemplo, o método keys() é usado para obter um iterador que contém as chaves (índices) do array fruits. O loop for...of é então usado para iterar sobre as chaves e imprimi-las.
O método keys() é suportado em navegadores modernos, incluindo Chrome 51+, Edge 15+, Firefox 54+, Safari 10+ e Opera 38+. Ele não é suportado no Internet Explorer.
O método entries() retorna um novo objeto Array Iterator que contém pares chave-valor para cada índice no array. Cada entrada é um array no formato de [índice, elemento]. Aqui está um exemplo:
exemplo de array em javascript:
Neste exemplo, o método `entries()` é usado para obter um iterador que contém pares de chave-valor para cada índice no array `fruits`. O loop `for...of` é então usado para desestruturar cada entrada em variáveis `index` e `element` e imprimi-las.
O método `with()` é uma nova adição introduzida no ECMAScript 2023 (ES2023). Ele permite que você crie uma nova matriz com um elemento especificado substituído por um novo elemento. Ele fornece uma maneira de atualizar um elemento em uma matriz sem alterar a matriz original. Aqui está um exemplo:
Neste exemplo, o método with() é usado para criar uma nova matriz updatedNumbers onde o elemento no índice 2 é substituído pelo valor 10. A matriz numbers original permanece inalterada.
O operador spread (...) permite que você expanda um array em elementos individuais. Ele pode ser usado para concatenar arrays, passar arrays como argumentos para funções ou criar novos arrays com elementos existentes. Aqui está um exemplo:
Neste exemplo, o operador spread é usado para concatenar as matrizes fruits e moreFruits em uma nova matriz allFruits.
O operador spread é suportado em navegadores modernos, incluindo Chrome 51+, Edge 15+, Firefox 54+, Safari 10+ e Opera 38+. Ele não é suportado no Internet Explorer.
O JavaScript fornece uma ampla gama de métodos de iteração de array que permitem que os desenvolvedores façam um loop de javascript por meio de array javascript, manipulem elementos e criem novos arrays com base em condições específicas. Neste artigo, exploramos vários métodos, incluindo loops tradicionais como while, do...while, for, for...in e for...of, bem como métodos de array modernos como forEach(), map(), filter(), reduce(), every(), some() e muito mais.
Entender e alavancar essas técnicas de iteração de array capacita os desenvolvedores a escrever código conciso, eficiente e expressivo ao trabalhar com arrays para each em javascript. Ao dominar esses métodos, você pode executar operações complexas em arrays com facilidade e construir poderosos aplicativos de loop de array JavaScript.
O loop for...of é usado para iterar sobre os valores de um objeto iterável, como uma matriz, enquanto o loop for...in é usado para iterar sobre as propriedades enumeráveis de um objeto, incluindo índices de matriz.
Use map() quando quiser criar um novo array transformando cada elemento de um array existente. Use forEach() quando quiser executar uma ação em cada elemento de um array sem criar um novo array.
Você pode usar o método reverse() para inverter a ordem dos elementos em uma matriz e então iterar sobre a matriz invertida usando qualquer um dos métodos de iteração discutidos neste artigo.
Você pode usar a instrução break para sair de um array de loop em javascript prematuramente. Quando encontrado dentro de um loop, break imediatamente encerra o loop e transfere o controle para a próxima instrução após o loop.
Aplicação Um + Aplicação Dois