Informática, perguntado por andremarquesoliveira, 4 meses atrás

O programador escreveu a função maiorNome abaixo para que ela retornasse o maior nome do arrayDeNomes. Por que ela não funciona como esperado? *
function maiorNome(arrayDeNomes){

// Se o arrayDeNomes estiver vazio, retornar undefined
if(arrayDeNomes.length == 0) return undefined;

// Atribuindo o primeiro elemento a variável maior
var maior = arrayDeNomes[0];
for (let i = 1; i < arrayDeNomes.length; i++) {
if(maior.length < arrayDeNomes[i]){
maior = arrayDeNomes[i]
}
}
}


A) A função vai funcionar exatamente como esperado.


B) No for, a variável i está sendo iniciada com 1. Deveria ser iniciada com 0.


C) A variável maior está sendo iniciada com arrayDeNomes[0]. Deveria ser iniciada com uma string vazia.


D) A condição do if está comparando o comprimento da string na variável maior com a string que está no arrayDeNomes. Deveria comparar com o tamanho da string que está no arrayDeNomes

Soluções para a tarefa

Respondido por lucilenesilv56
3

Resposta:

A condição do if está comparando o comprimento da string na variável maior com a string que está no arrayDeNomes. Deveria comparar com o tamanho da string que está no arrayDeNomes

Explicação:

Como o que se quer saber é o maior nome, deve se comparar o tamanho de ambas as strings e não o tamanho da primeira com o valor da segunda string.

Perguntas interessantes