1
resposta

[Dúvida] 1° parte do desafio - estou com dificuldades da 5 a 7

Resolução dos exercicios da 1 a 4 (estou com dificuldade de resolver a 5 a 7):

// 1 - Crie uma função que receba dois arrays e os concatene em um único array.
const concatenarArrays = function (array1, array2){
    return array1.concat(array2);
}

console.log(concatenarArrays([1, 2, 3], ["a", "b", "c"]));

// 2 - Crie um array chamado numeros contendo números de 1 a 10. 
// Utilize o método slice para criar um novo array chamado parteNumeros que contenha apenas os números de índice 3 a 7 de numeros.
const numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const parteNumeros = numeros.slice(2, 7);

console.log(parteNumeros);

/*3 - Dado o array frutas contendo frutas que desejamos comprar na feira:

const frutas = ['Maçã', 'Banana', 'Laranja', 'Limão', 'Abacaxi']

Utilize o método splice para remover as frutas no índice 2 e 3 e, em seguida, adicione as frutas 'Kiwi' e 'Pêssego' nesses mesmos índices.
*/
const frutas = ["Maça", "Banana", "Laranja", "Limão", "Abacaxi"];
frutas.splice(2, 2, "Kiwi", "Pessego");

console.log(frutas);

// 4 - Crie dois arrays chamados menuPrincipal e menuDeSobremesas contendo opções do cardápio de um restaurante. 
// Utilize o método concat para criar um novo array menuCompleto contendo todos os elementos de menuPrincipal seguidos pelos elementos de menuDeSobremesas.
const menuPrincipal = ["Bife a cavalo", "Feijoada", "File de frango"];
const menuDeSobremesas = ["PetitGatuie", "Sorvete", "Bolo de chocolate"];

const menuCompleto = menuPrincipal.concat(menuDeSobremesas);
console.log(menuCompleto);
1 resposta

Oii, Matheus!

É muito bom ver que você já avançou bem nos quatro primeiros exercícios. Lidar com matrizes (arrays dentro de arrays) no começo pode parecer um pouco confuso, mas o segredo está em visualizar cada "camada" individualmente.

Vamos resolver esses desafios juntos.

Exercício 5: Criando a Matriz 3x3

Pra construir essa estrutura, pensamos assim: primeiro criamos a lista principal (matriz). Depois, usamos um laço para criar cada linha e, dentro desse laço, outro para colocar os números em cada coluna.

let matriz = [];
let valorInicial = 1;

for (let i = 0; i < 3; i++) {
  let linha = []; // Criamos uma linha vazia a cada repetição do primeiro laço
  for (let j = 0; j < 3; j++) {
    linha.push(valorInicial++); // Adicionamos o número e aumentamos o valor para o próximo
  }
  matriz.push(linha); // Colocamos a linha preenchida dentro da nossa matriz principal
}

console.log('Visualização da Matriz:');
matriz.forEach(linha => console.log(linha));

Exercício 6: Acessando Elementos

Em JavaScript, a contagem dos índices começa sempre no 0. Portanto:

  • A segunda linha está no índice [1].
  • A terceira coluna está no índice [2].
const elemento = matriz[1][2];
console.log('O elemento na segunda linha e terceira coluna é:', elemento);

Exercício 7: Alterando um Valor Específico

Pra modificar um valor, usamos a mesma lógica de índices. Se queremos a terceira linha (índice 2) e a segunda coluna (índice 1), basta atribuir o novo valor diretamente:

matriz[2][1] = 15;

console.log('Matriz atualizada:');
matriz.forEach(linha => console.log(linha));

Por que isso funciona?

Pense na matriz como um prédio:

  1. O primeiro colchete matriz[i] escolhe em qual andar (linha) você vai entrar.
  2. O segundo colchete [j] escolhe em qual apartamento (coluna) daquele andar você vai mexer.

Espero que essa explicação ajude a clarear a lógica! Se precisar de mais algum detalhe sobre como os laços for se comportam aqui, é só falar.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!