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?