Escribí la función para verificar si un número dado es positivo, negativo o cero. ¿Hay una forma abreviada?
¿Es posible probar la condición con el mapa (usando el objeto para indexar las condiciones)? Me inspiré en la segunda solución en esta pregunta, pero no estoy seguro de cómo se aplica aquí.
const numCheck = (num) => { if (num == 0) { return "zero"; } else { return num > 0 ? "positive" : "negative"; } }; const num1 = 3; console.log(numCheck(num1));En la solución a continuación, el método numCheck() se prueba utilizando el método Array.prototype.map() , considerando tres situaciones posibles.
const numCheck = (num) => { return (num == 0) ? "zero" : ((num > 0) ? "positive" : "negative"); }; const numbers = [1, -1, 0]; console.log(numbers.map(number => numCheck(number)));puedes hacer eso, simplemente usa Math.sign() :
const numCheck = n => ['negative','zero','positive'][1+Math.sign(n)] console.log( numCheck( 4 ) ) console.log( numCheck( 0 ) ) console.log( numCheck( -3 ) )Una solución más corta:
var numCheck = (num) => num == 0 ? "zero" : num > 0 ? "positive" : "negative"; const num1 = 3; console.log(numCheck(num1));