SóProvas


ID
5607064
Banca
FGV
Órgão
Banestes
Ano
2021
Provas
Disciplina
Programação
Assuntos

Considere o código JavaScript a seguir.


let txt = "";


function funcao(value, index, array) {


    if (index % 2 == 0) {txt += value};


}


function xpto (x) {


           x.forEach(funcao);


           return txt;


}


alert (xpto([0, 1, 1, 2, 3, 5]));


A execução desse código provoca a exibição de:

Alternativas
Comentários
  • A funcao concatena os valores do array que estão em posição par. Ele concatena pq a variável txt é inicializada com uma string vazia.

  • "O método forEach() executa uma dada função em cada elemento de um array."

    Partindo desse conceito, a função "função" toda vez que é chamada recebe como parâmetro um valor, um índice e a própria lista.

    Assim, sobre o primeiro elemento da lista temos:

    value = 0

    index = 0

    array = [0,1,1,2,3,5]

    if(0 % 2 == 0){ //o resto de 0/2 dá 0 e 0 é igual a 0

    txt += 0 //aqui a string txt é concatenada com 0

    }

    Agora, chamamos a função para o próximo elemento:

    value = 1

    index = 1

    array = [0,1,1,2,3,5]

    if(1 % 2 == 0) //não entramos na seleção, haja vista que o resto da divisão da 1 por 2 é diferente de 0

    Próximo elemento da lista:

    value = 1

    index = 2

    array = [0,1,1,2,3,5]

    if(2 % 2 == 0 {//o resto da divisão de 2 por 2 é igual a 0, logo...

    txt += 1//a string txt é concatenada com 1, ficando agora dessa forma: 01

    E assim por diante...

  • Não era para imprimir então 02..?

  • o código utiliza o "index" e não o "value".

  • A ideia é dividir pelo index e não pelo valor. Ao encontrar o resultado zero, então o valor alocado no index é concatenado. Pegou muita gente.