如果参数为负,我如何返回ERROR ?



如果其中一个参数为负,我希望我的代码返回错误怎么做到的?

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));

试试这样

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));

如果您想返回错误消息而不是抛出错误,请将第3行中的单词throw替换为单词return

如果问题与负参数检查有关,我认为可以使用Math.sign()函数来检查值的负性/正性。

Math.sign(-4)返回-1

Math.sign(4)返回1

在这种情况下,它将代表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));

相关内容

最新更新