作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个函数,我想计算字符串中包含的数字。
str='hel4l4o';
我创建的代码:
function sumDigitsg(str) {
var total=0;
if(isNaN(str)) {
total +=str;
console.log(total);
}
//console.log(isNaN(str));
return total;
}
最佳答案
您可以使用正则表达式来匹配所有数字 (.match(/\d+/g)
),然后使用 .reduce
对匹配的数字求和:
const str = 'hel4l4o';
const total = str.match(/\d+/g).reduce((sum, n) => sum + +n, 0);
console.log(total);
对于您的代码,您需要循环遍历字符,然后使用 if(!isNaN(char))
检查它是否是数字。之后,您需要使用类似 unary plus operator 的内容将字符转换为数字。 (+char
),以便您可以将其添加到total
:
let str = 'hel4l4o';
function sumDigitsg(str) {
let total = 0;
for(let i = 0; i < str.length; i++) {
let char = str[i];
if (!isNaN(char)) {
total += +char;
}
}
return total;
}
console.log(sumDigitsg(str));
关于javascript - 如何在javascript中计算字符串中包含的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56412891/
我是一名优秀的程序员,十分优秀!