Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida sobre laços para alterar valor de arrays.

Olá a todos, antes de assistir a aula eu tentei fazer o desafio por conta própria e interpretei que precisaria fazer o laço para mostrar de 100 a 600, dai depois vi que não se tratava disso na aula, mas mesmo assim tentei fazer conforme a minha primeira interpretação e o código ficou assim:

let lista = [];
let showIndex = [0];
let listaIncremento = 100;
let incrementoIndex = 1;
for (let i = 0; i <= 5; i++) {

    lista.push(listaIncremento);
    listaIncremento +=100;
    showIndex.push(incrementoIndex);
    incrementoIndex ++;
}

console.log(lista);
console.log(showIndex);

O objetivo é mostrar no console os valores da lista e abaixo o índice onde elas encontram e foi dessa forma que consegui, porém, gostaria de saber se eu poderia fazer isso utilizando menos linhas de código, e também saber se a lógica por si só está certa ou errada, porque já consegui atingir alguns resultados na "sorte", mas a intenção é realmente consolidar o aprendizado.

Agradeço :D

4 respostas
solução!

Boa tarde, tudo bem? Você pode fazer dessa forma: Para diminuir a quantidade de let declarados eu inicializei o i do for com 1 para poder multiplicá-lo com 100 e adicionar no array Lista, além disso criei um let indice para receber o i-- e inicializar o índice na posição 0. Vale lembrar que o let i do for nada mais é do que um índice, então você pode usá-lo também como índices para outros arrays.


let lista = [];
let showIndex = [];

for(let i = 1; i <= 5; i++) {
    let indice = i--;

    lista.push(i * 100);
    showIndex.push(indice);
}

console.log(lista);
console.log(showIndex)

Abraço e bons estudos!

muito obrigado pela resposta, entendi e ficou mt legal!!

Olá, boa noite Filipe, tudo bom?

Eu verifiquei o seu código e fiz um pouquinho diferente.

Copiando seu código a saída é essa:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Logo a gente teria 7 índices para 6 elementos da lista, correto?! Influenciando na contagem dos elementos da lista.

Então eu fiz uma alteração para que o laço de repetição ficasse com a quantidade de índices corretas.


let lista = [];
let showIndex = [];
let listaIncremento = 100;
let incrementoIndex = 0;
for (let i = 0; i <= 5; i++) {

    lista.push(listaIncremento);
    listaIncremento +=100;
    showIndex.push(incrementoIndex);
    incrementoIndex ++;
}

console.log(lista);
console.log(showIndex);

As únicas alterações foram no array showIndex e na variável incrementoIndex para que o índice sempre iniciasse de 0 que é o correto, segundo os conceitos apresentados em aula, no restante do seu código não realizei nenhuma alteração, estava tudo certinho.

Enfim, fica a dica.

:)

Cara, foi muito boa a sua iniciativa!

Mas cuidado, porque muitas vezes tentamos inventar as nossas soluções mas já existem métodos bem práticos pra resolver diversos problemas.

Sempre pesquise e leia as documentações. Tentar criar soluções nem sempre é prático.

Abraços e bons estudos!