Trabalhando com arrays Obter o tamanho de um Array let cores = ["verde", "amarelo", "vermelho"]; let tamanho = cores.length; Acessar um item de um Array let primeira = cores[0]; let ultima = cores[cores.length - 1]; Iterar um Array // usando forEach // cores.forEach(function(item, indice, array) { // console.log(item); // }); cores.forEach(item => { console.log(item); }); // usando for-of for (let item of cores) { console.log(item); } // usando for for (let i = 0, n = cores.length; i < n; i++){ console.log(cores[i]); } Adicionar e remover itens do Array // adicionar um item no final let tamanhoAposAzul = cores.push("azul"); // remover um item do final let ultimoRemovido = cores.pop(); // adicionar um item no início let tamanhoAposBranco = cores.unshift("branco"); // remover um item do início let primeiroRemovido = cores.shift(); // localizar a posição de um item // retornará -1 caso o valor não seja encontrado let posicao = cores.indexOf("amarelo"); // adicionar 2 itens a partir da posição 2 let posicaoInserir = 2; let itensInserir = ["roxo", "cinza"]; cores.splice(posicaoInserir, 0, ...itensInserir); // remover 2 itens a partir da posição 2 let posicaoRemover = 2; let quantidadeRemover = 2; let removidos = cores.splice(posicaoRemover, quantidadeRemover); Obter um pedaço de um Array const numeros = [1, 1, 2, 3, 5, 8, 13, 21]; const pedaco = numeros.slice(4, 7); // [5, 8, 13] Concatenar Arrays const pares = [2, 4, 6]; const impares = [1, 3, 5]; let novo = pares.concat(impares); // [2, 4, 6, 1, 3, 5] Conversão entre Array e String delimitada // criar um array inicial let frutas = ["Laranja", "Abacate", "Maçã", "Abacaxi"]; // criar uma string delimitada por hífens a partir do array let texto = frutas.join("-"); // "Laranja-Abacate-Maçã-Abacaxi" // modificar a string, "adicionando" novos itens texto += "-Uva-Melancia"; // recriar o array a partir da string delimitada frutas = texto.split('-'); // ["Laranja", "Abacate", "Maçã", "Abacaxi", "Uva", "Melancia"] Filtrar os itens de um Array function par(valor){ return valor % 2 === 0; } let numeros = [8, 3, 12, -4, 7, -1, 13]; let pares = numeros.filter(par); // de forma alternativa, com "arrow function" pares = numeros.filter(num => num % 2 === 0); Filtrar os objetos de um Array // itens de uma compra let itens = [ { produto: { descrição: "Café torrado moído 500g", preço: 9.5 }, quantidade: 1 }, { produto: { descrição: "Pão de forma integral", preço: 7.75 }, quantidade: 2 }, { produto: { descrição: "Manteiga com sal 200g", preço: 8.0 }, quantidade: 1 }, { produto: { descrição: "Água com gás 510ml", preço: 1.5 }, quantidade: 12 }, { produto: { descrição: "Pipoca de microondas", preço: 2.5 }, quantidade: 4 } ]; // itens onde a quantidade for maior que 1 let mais_de_1_item = itens .filter((item) => item.quantidade > 1); // itens onde o valor total (valor unitário * quantidade) for maior que 10 let valor_total_maior_que_10 = itens .filter((item) => item.produto.preço * item.quantidade > 10); // itens onde a descrição do produto começa com a letra P let descrição_começa_com_p = itens .filter((item) => item.produto.descrição[0].toUpperCase() === "P"); Ordenar os itens de um Array let cores = ["verde", "amarelo", "vermelho"]; cores.sort(); // ["amarelo", "verde", "vermelho"] Inverter a ordem dos itens de um Array let cores = ["verde", "amarelo", "vermelho"]; cores.reverse(); // ["vermelho", "amarelo", "verde"] Ordenar os objetos de um Array let funcionarios = [ { nome: "João", salario: 3000 }, { nome: "Maria", salario: 4500 }, { nome: "Ana", salario: 2500 }, { nome: "Pedro", salario: 4000 }, { nome: "Paulo", salario: 2500 } ]; // ordenar por salário funcionarios.sort((a, b) => a.salario - b.salario); // ordenar por salário (decrescente) funcionarios.sort((a, b) => b.salario - a.salario); // ordenar por nome funcionarios.sort(function(a, b){ if (a.nome > b.nome) return 1; else if (a.nome < b.nome) return -1; else return 0; // iguais }); Transformar os dados de um Array com map /* calcular as taxas correspondentes de um imposto fictício onde: 10% para valores inferiores a 1000 20% para superiores ou iguais a 1000 e inferiores a 5000 30% para valores superiores ou iguais a 5000 */ function calcularImposto(valor){ if (valor < 1000) return valor * 0.1; // 10% else if (valor < 5000) return valor * 0.2; // 20% return valor * 0.3; // 30% } // valores para calcular let valores = [500, 800, 1500, 2500, 5000, 5500, 8000, 10000]; // valores dos impostos let impostos = valores.map(calcularImposto); // valores detalhados: valor, imposto e total let detalhes = valores.map(valor => { const valor_imposto = calcularImposto(valor); const valor_total = valor + valor_imposto; return { valor: valor, imposto: valor_imposto, total: valor_total }; }); “Reduzir” os dados de um Array O método reduce aplica uma função com um acumulador em cada valor de um Array, do primeiro até o último, para reduzi-los a um único valor.
...