6  Arrays e Objetos

Arrays e objetos são estruturas fundamentais para organizar dados.

6.1 Arrays

const notas = [7.5, 8.0, 6.5, 9.0];

console.log(notas[0]);      // primeiro item
console.log(notas.length);  // quantidade de itens

6.2 Métodos mais usados em arrays

const alunos = ["Ana", "Bruno"];

alunos.push("Carla");   // adiciona no fim
const removido = alunos.pop(); // remove do fim

console.log(removido);
console.log(alunos);

Outros úteis:

const fila = ["A", "B", "C"];
fila.shift();      // remove do início
fila.unshift("X"); // adiciona no início
console.log(fila);

6.3 Percorrendo arrays

6.3.1 for tradicional

const precos = [12, 30, 18];
let total = 0;

for (let i = 0; i < precos.length; i++) {
  total += precos[i];
}

console.log(`Total: R$ ${total}`);

6.3.2 for...of

const cidades = ["Ponta Porã", "Dourados", "Bonito"];

for (const cidade of cidades) {
  console.log(cidade);
}

6.4 map, filter, reduce

const numeros = [1, 2, 3, 4, 5];

const dobrados = numeros.map((n) => n * 2);
const pares = numeros.filter((n) => n % 2 === 0);
const soma = numeros.reduce((acc, n) => acc + n, 0);

console.log(dobrados);
console.log(pares);
console.log(soma);

6.5 Objetos

const aluno = {
  nome: "João",
  turma: "2A",
  ativo: true,
  exibir() {
    return `${this.nome} - ${this.turma}`;
  }
};

console.log(aluno.exibir());

6.6 Acessando e alterando propriedades

const produto = {
  nome: "Caderno",
  preco: 25
};

console.log(produto.nome);
produto.preco = 22;
produto.estoque = 15;
console.log(produto);

6.7 Array de objetos

Muito comum em sistemas:

const passeios = [
  { local: "Bonito", preco: 120 },
  { local: "Pantanal", preco: 200 },
  { local: "Campo Grande", preco: 80 }
];

const baratos = passeios.filter((p) => p.preco <= 120);
console.log(baratos);

6.8 Desestruturação

const estudante = {
  nome: "Lívia",
  cidade: "Ponta Porã",
  curso: "Informática"
};

const { nome, cidade } = estudante;
console.log(nome, cidade);

6.9 Spread em arrays e objetos

const base = [1, 2, 3];
const copia = [...base, 4];

const alunoBase = { nome: "Rafa", turma: "1B" };
const alunoAtualizado = { ...alunoBase, turma: "2B" };

console.log(copia);
console.log(alunoAtualizado);

6.10 Exercícios

  1. Crie um array com 10 números e exiba apenas os ímpares.
  2. Dado um array de preços, calcule o total com reduce.
  3. Crie um objeto produto com nome, preço e estoque.
  4. Crie um array de objetos alunos com nome e nota; exiba só os aprovados.
  5. Desafio: monte uma lista de passeios com preço e exiba o mais barato.