Javascript 需要为字符串中的数字总和提供资金,不包括带有for循环的字符串
我需要计算包含数字和字符串的字符串中所有数字的总和,例如“abc123rv.rv1” 我创建了一个forLoop,使一切都清晰明了,但由于某些原因,它不起作用Javascript 需要为字符串中的数字总和提供资金,不包括带有for循环的字符串,javascript,loops,Javascript,Loops,我需要计算包含数字和字符串的字符串中所有数字的总和,例如“abc123rv.rv1” 我创建了一个forLoop,使一切都清晰明了,但由于某些原因,它不起作用 function count(str) { let sum = 0; for (let i = 0; i < str.length; i++) { if (typeof str[i] === 'number') sum += str[i] } return sum; } 我错过了什么?而且,如果你能分
function count(str) {
let sum = 0;
for (let i = 0; i < str.length; i++) {
if (typeof str[i] === 'number') sum += str[i]
}
return sum;
}
我错过了什么?而且,如果你能分享解决这个问题的其他方法,我会很感激,也许是使用过滤器、映射或reduce?或者是我错过的其他方式。
提前谢谢大家。我很高兴你非常活跃,总是回复我的帖子,帮我解答问题,然而,在你这样的资深人士看来,这些帖子可能很愚蠢 字符串的任何索引值也将是一个单字符长的字符串 我想用空字符串替换所有非数字字符,然后用reduce求和: 函数countstr{ 返回[…str.replace/\D/g,] .reducea,b=>a++b,0; }
控制台.日志计数'abc123rv.rv1' 您可以尝试使用解析数字。如果它被解析,那么添加它 函数countstr{ 设和=0; 对于let i=0;i