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.