javascript - 如何求和、识别和返回 case '0' 和 '-' in
问题描述
function sum2(num) {
let sum ;
let str = String(num)
for(let i = 0 ; i < str.length; i++){
if(i === 0) {
sum = parseInt(str[i]);
} else {
sum = sum + parseInt(str[i])
}
}
return sum;
}
debugger;
let output = sum2(1148);
console.log(output); // --> 14 = 1 + 1 + 4 + 8
output = sum2(-316);
console.log(output); // --> 4 = -3 + 1 + 6
我需要判断 num 为 -316,num 为 0,但它会返回 'NaN'..
我应该怎么办..?
解决方案
你需要照顾'-'(减号)
function sum2(num) {
let sum = 0;
const str = String(num)
let multipler = 1;
for (let i = 0 ; i < str.length; i++) {
if (i === 0 && str[i] === "-") {
multipler = -1;
} else {
sum += multipler * parseInt(str[i], 10);
multipler = 1;
}
}
return sum;
}
console.log(sum2(1148)); // --> 14 = 1 + 1 + 4 + 8
console.log(sum2(-316)); // --> 4 = -3 + 1 + 6
推荐阅读
- pentaho - Pentaho - 搜索 xml 文件
- udp - skb_tail_pointer(skb) 无法正常工作。并错误地指向 udp 标头尾部
- javascript - 我正在尝试将 mongodb 服务器与节点连接
- java - 在 docx4j 中创建新标头
- c++ - 保存一个 char* 参数介绍一个字符串
- swiftui - 为什么那些 NavigationLinks 不可点击?
- android - 进入flutter run后出现错误-“正在运行Gradle任务'assembleDebug'......”
- python - 如何在数据帧上使用 groupby 和 filter 函数而不会出现重复?
- python - 在 BeautifulSoup 中提取 div 的属性值
- xamarin - 我如何在 Visual Studio MAC 中制作存档 iPA。最新版本出现错误