Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Resposta exercício 5

Olá, gostaria de saber se minha resolução está correta.
E também se existe alguma outra forma de imprimir o resultado sem precisar de um for para deixar em linhas e colunas

const matriz = []
let quantidade = 0

for (let i = 1; i <= 3; i++) {
    const linhas = []
    
    for (let i = 1; i <= 3; i++) {
        quantidade += 1
        linhas.push(quantidade)
    }
    matriz.push(linhas)
}

for (let i = 0; i <= 2; i++) {
    console.log(matriz[i].join())
}
1 resposta
solução!

Olá, Felipe, como vai?

A sua lógica está coerente para criar uma matriz 3x3 com valores sequenciais de 1 a 9. Você inicia com um array vazio, utiliza um contador externo para controlar a sequência dos números e, a cada iteração do laço interno, incrementa esse valor e adiciona ao array de linhas. Ao final de cada ciclo do laço externo, você adiciona a linha completa à matriz principal. O resultado final será uma estrutura como [[1,2,3],[4,5,6],[7,8,9]], o que atende ao enunciado.

Um ponto de atenção é que você reutilizou o nome da variável i nos dois for. Embora funcione por conta do escopo de bloco com let, não é uma boa prática manter o mesmo identificador em laços aninhados. Poderia usar, por exemplo, i para o laço externo e j para o interno, o que deixa o código mais legível.

Sobre imprimir sem precisar de um for apenas para organizar em linhas e colunas, há algumas alternativas. Uma delas é utilizar console.table(matriz), que já exibe a matriz de forma tabular no console, facilitando a visualização. Outra possibilidade é usar console.log(matriz.map(linha => linha.join(' ')).join('\n')). Nesse caso, cada linha é transformada em uma string separada por espaço e depois todas são unidas com quebra de linha, resultando na impressão em formato de grade sem a necessidade de um segundo laço explícito.

Espero ter ajudado.

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado