Código en Javascript, ayúdame a hacer que 0 no sea negativo
function invertSign(val) { return (val * -1); } console.log(invertSign(1)) -1 console.log(invertSign(-2)) 2 console.log(invertSign(0)) -0Puedes usar || 0 :
function invertSign(val) { return -val || 0; } Si -val evalúa como -0, será un valor falso , por lo que || El operador evaluará el segundo operando, que es 0. Y así, -0 se reemplaza por 0.
Alternativamente, restas de 0:
function invertSign(val) { return 0 - val; }Aquí -0 nunca ocurre, porque el menos aquí no es un operador unario, sino binario. 0 - 0 es solo 0, por lo que esta puede ser la solución más simple.
Puede verificar si el valor es cero y, si lo es, devolver 0
function invertSign(val) { if (val === 0) return 0; return (val * -1); }Intente agregar una declaración if para verificar if val === 0 .
function invertSign(val) { if (val === 0) return val; return val * -1; } console.log(invertSign(1)); // logs -1 console.log(invertSign(-2)); // logs 2 console.log(invertSign(0)); // logs 0