Quiero que mi código devuelva un error si uno de los parámetros es negativo ¿Cómo hacerlo?
const sumAll = function(num1,num2) { let newArr = [num1,num2]; let sortedArr = newArr.sort(function(a,b) { return a - b; }) let lastArr = [] for (let i = sortedArr[0]; i <= sortedArr[1]; ++i ) { lastArr.push(i) } let reducedArr = lastArr.reduce(function(previousValue,currentValue) { return previousValue + currentValue; }) return reducedArr; }; console.log(sumAll(1,-4));Prueba algo como esto
const sumAll = function(num1,num2) { if (num1 < 0 || num2 < 0) { throw "Num1 and num2 must not be negative" } let newArr = [num1,num2]; let sortedArr = newArr.sort(function(a,b) { return a - b; }) let lastArr = [] for (let i = sortedArr[0]; i <= sortedArr[1]; ++i ) { lastArr.push(i) } let reducedArr = lastArr.reduce(function(previousValue,currentValue) { return previousValue + currentValue; }) return reducedArr; }; console.log(sumAll(1,-4)); Si desea devolver un mensaje de error en lugar de arrojar un error, reemplace la palabra throw con la palabra return en la línea 3.
Si la pregunta está relacionada con la verificación de parámetros negativos, creo que puede usar la función Math.sign() para verificar la negatividad/positividad de los valores.
Math.sign(-4) devuelve -1
Math.sign(4) devuelve 1
En caso de que se represente true / false
const sumAll = function(num1,num2) { if (Math.sign(num1) || Math.sign(num2)) { return "Parameters must be positive integer." } let newArr = [num1,num2]; let sortedArr = newArr.sort(function(a,b) { return a - b; }); let lastArr = []; for (let i = sortedArr[0]; i <= sortedArr[1]; ++i ) { lastArr.push(i); } let reducedArr = lastArr.reduce(function(previousValue,currentValue) { return previousValue + currentValue; }); return reducedArr; }; console.log(sumAll(1,-4));