gpt4 book ai didi

javascript - 在 JS 中添加负数

转载 作者:行者123 更新时间:2023-11-30 15:04:21 25 4
gpt4 key购买 nike

我正在创建一个函数,将函数中提供的所有数字相加。所以如果输入是 1148 = 1 + 1 + 4 + 8 = 14

但是,如果数字为负数,我会卡住,这应该将第一个数字计算为负数。例如。 -316 = -3 + 1 + 6 = 4

我所做的是尝试将数字拆分并转换为字符串,然后再次转换为数字以将它们相加。但是,出于某种原因,这不会添加负数,而是返回 NaN。

function addNumbers(num) {
var strNum = num.toString();
strNum = strNum.split('');

var total = 0;
for(var i = 0; i < strNum.length; i++){
total += parseInt(strNum[i]);
}

return total;


}

var output = addNumbers(1148);
console.log(output); // --> 14

var output2 = addNumbers(-316);
console.log(output2); // --> should return 4 instead returned NaN

有什么办法可以解决这个问题并取一些负数将它们加起来吗?

最佳答案

function addNumbers(num) {
var isNeg = num < 0, negative
numbers = (isNeg? String(num).slice(1) : String(num)).split('').map(Number);
if (isNeg) numbers[0] *= -1;
return numbers.reduce(function(a,b){ return a + b; });
}


var output = addNumbers(1148);
console.log(output); // --> 14

var output2 = addNumbers(-316);
console.log(output2);

关于javascript - 在 JS 中添加负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46010123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com