Preciso de ajuda Variavel i, for

Preciso de ajuda nesta questão:

Escreva uma função passoAPasso , que imprime 5 vezes o conteúdo de i . Por exemplo:

passoAPasso()
“01234”

Faça um console.log(valor) para cada iteração.

Fiz a fórmula:

function passoAPasso()

{for(var i = 0; i < 5; i++) {
console.log(“01234”)
}}

mas ele retorna:

Sua solução não passou as provas*

  • Imprimir passoAPasso() deveria imprimir 01234 [Ver detalhes]
    ‘01234\n01234\n01234\n01234\n01234\n’ == ‘0\n1\n2\n3\n4\n’

Poderiam me auxiliar?

Vamos por partes.
Você entende a estrutura de um laço de repetição for?
Basicamente, ele funciona assim:

for(início; condição de parada; incremento) {
    //Trecho que se repete
}

Onde;

  • Início: parte onde você pode definir algo antes da execução do bloco, no teu caso, você criou a variável para iteração
  • condição de parada: este laço será executado enquanto essa condição é atendida
  • incremento: é onde você pode definir se a variável é incrementada ou decrementada, em cada iteração

Assim sendo, se você cria um laço for como você fez:

for(var i = 0; i < 5; i++) {

Você está dizendo que a variável i começa com valor 0 e o trecho de código se repetirá enquanto o valor de i for menor que 5 e a cada iteração o valor de i deve ser somado em 1 unidade.
Assim sendo, você diz que, de acordo com isso, o que tiver dentro do escopo do laço (as chaves determinam esse escopo), será repetido 5 vezes.
Como o que você pôs dentro do laço é a instrução

Cada iteração irá exibir esse conteúdo.

Desta maneira, se o que você quer é imprimir cada número isoladamente, você deve alterar o que está dentro do laço por:

console.log(i);

Porém, isso terá como saída:

0
1
2
3
4

E não “01234”

Isso seria obtido se você tivesse outra variável e, ao invés de imprimir em cada iteração, adicionasse a essa variável, imprimindo ao fim:

var saida = "";
for(var i = 0; i < 5; i++) {
    saida += i;
}

console.log("\"" + saida + "\"");

Aí você teria a saída:

"01234"
1 curtida

Boa noite. utilizei seu código porém a solução não é aprovada por que como resultado dá ‘0\n1\n2\n3\n4\n’. Poderia me ajudar como resolver esse imbróglio?
Desde já grato pela força

Posta o seu código.

function passoAPasso() {
var saida = “”;
for(var i = 0; i < 5; i++) {
saida += i;
}
console.log(""" + saida + “”");
}

esse foi o Código usado:
function passoAPasso()
{
var saida = “”; //valor em branco
for(var i = 0; i < 5; i++) {
saida += i;
}
console.log(""" + saida + “”");
}
O erro e : ‘“01234”\n’ == ‘0\n1\n2\n3\n4\n’

Isso é pq você definiu a variavel saida como String, logo quando você utiliza o operador +=, ela concatena o valor ao invés de somar

Altere de: var saida = "", para: var saida = 0

De preferência por criar as suas variáveis com a keyword let ao invés de var.
O escopo de let é local e o de var é global.

Mas ele quer concatenar.
O problema é que está concatenando um \n ao final de cada número.

Ah, nem vi :sweat_smile: