Ir ao conteúdo

Javascript O retorno da função muda e eu não sei dizer o porquê.


Ir à solução Resolvido por MailingTester,

Posts recomendados

Postado

Considerando esse array:

 

const b = [4, 10, 14, 25, 25, 50];

 

Ao executar essa função passando b como parâmetro, recebo o resultado esperado ("Ordem crescente")

const arrayCheck = (inputArray) => {

	// 1
	if (inputArray.some((elemento) => typeof elemento !== "number")) {

		return "O array contém não-números!";
	}

	// 2
	const isMaiorQueOAnterior = (elemento, indice, array) =>
		indice > 0
			? elemento >= array[indice - 1]
			: true;
	if (inputArray.every(isMaiorQueOAnterior)) {
		return "Ordem crescente";
	}

	// 3
	const isMenorQueOAnterior = (elemento, indice, array) =>
		indice > 0
			? elemento <= array[indice - 1]
			: true;


	if (inputArray.every(isMenorQueOAnterior)){
		return "Ordem decrescente";
	}

	// 4
	return "O array não está ordenado!";
};

console.log(arrayCheck(b)); // Ordem Crescente

 

Se eu delimitar `isMaiorQueOAnterior` com chaves, recebo "O array não está ordenado".

const isMaiorQueOAnterior = (elemento, indice, array) => { //<-- AQUI!
	indice > 0
		? elemento >= array[indice - 1]
		: true;
} // <-- AQUI!

console.log("array b: "+ arrayCheck(b)); // "O array não está ordenado!"

Alguém sabe dizer o porquê? Escopo?

Postado

@RobertoGB não entendi muito bem meu amigo, a sua definição de expressão de função "const arrayCheck = (inputArray) => { ..". Primeiro, eu preciso saber o que é passado como argumento, pois não ah informação alguma referente aos parâmetros usados na condicionais(elemento, indice, array). Assim sendo, não conseguirei entender o contexto. 



 

  • Solução
Postado
Em 04/04/2023 às 15:47, RobertoGB disse:
(elemento, indice, array) => { //<-- AQUI!
	indice > 0
		? elemento >= array[indice - 1]
		: true;
}

porque essa função não tem retorno

Acrescrente
return
antes de indice > 0

return indice > ...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...