Da trilha de JavaScript Este conceito ainda não saiu como card do dia. ir para o card de hoje

JavaScript Coleções Básico

Arrays

Arrays em JavaScript são listas ordenadas de valores, acessados por índices que começam em 0. Eles são objetos especiais que guardam vários itens numa única variável e vêm com métodos prontos para adicionar, remover, fatiar, buscar e ordenar elementos.

Os métodos que alteram o array original são chamados de mutáveis, como push, pop e splice. Já os que devolvem uma cópia sem mexer no original são imutáveis, como slice. Saber diferenciar os dois evita bugs sutis, pois às vezes você quer modificar a lista e às vezes quer preservá-la.

Para verificar se um valor existe use includes (retorna true/false) e para descobrir a posição use indexOf (retorna o índice ou -1). Para ordenar, sort funciona bem com strings, mas números exigem uma função de comparação, porque o padrão do sort converte tudo para texto.

Dominar esses métodos é a base para manipular coleções em qualquer aplicação real: carrinhos de compra, listas de tarefas, resultados de busca e muito mais.

Pontos-chave

  • push adiciona no fim e pop remove do fim, ambos alterando o array original.
  • splice(inicio, quantidade, ...itens) remove e/ou insere elementos em qualquer posição.
  • slice(inicio, fim) copia um trecho sem modificar o array original.
  • includes retorna booleano e indexOf retorna o índice (ou -1 se não achar).
  • sort ordena em ordem lexicográfica; para números use (a, b) => a - b.
arrays_basico.js
// Demonstração dos principais métodos de array
const frutas = ['banana', 'maçã'];

// push e pop alteram o fim do array
frutas.push('uva');
frutas.push('pera');
console.log(frutas); // [ 'banana', 'maçã', 'uva', 'pera' ]

const ultima = frutas.pop();
console.log('Removida:', ultima); // Removida: pera

// splice remove 1 item na posição 1 e insere 'kiwi'
frutas.splice(1, 1, 'kiwi');
console.log(frutas); // [ 'banana', 'kiwi', 'uva' ]

// slice copia sem alterar o original
const copia = frutas.slice(0, 2);
console.log('Cópia:', copia); // Cópia: [ 'banana', 'kiwi' ]
console.log('Original intacto:', frutas); // Original intacto: [ 'banana', 'kiwi', 'uva' ]

// includes e indexOf
console.log(frutas.includes('uva')); // true
console.log(frutas.indexOf('kiwi')); // 1
console.log(frutas.indexOf('abacaxi')); // -1

// sort com números precisa de comparador
const numeros = [10, 2, 33, 4];
numeros.sort((a, b) => a - b);
console.log(numeros); // [ 2, 4, 10, 33 ]

Exercícios

  1. 1
    Fácil

    Lista de compras dinâmica

    Crie um array lista com ['arroz', 'feijão']. Adicione 'macarrão' no fim com push, remova o último item com pop e mostre o array final no console.

    Resolver
  2. 2
    Médio

    Filtrando e fatiando notas

    Dado o array notas = [7, 4, 9, 10, 6, 8], use slice para obter apenas as três primeiras notas, verifique com includes se a nota 10 está no array original e mostre o índice da nota 6 com indexOf. Imprima os três resultados.

    Resolver
  3. 3
    Desafio

    Ranking de pontuações

    Crie uma função ranking(pontos) que receba um array de números, devolva um novo array ordenado do maior para o menor (sem alterar o original) e remova pontuações duplicadas. Use slice para copiar, sort com comparador numérico, splice para remover duplicatas e includes para checar se o valor já apareceu.

    Resolver

Continue estudando