3 回答
TA贡献1757条经验 获得超8个赞
字符串的任何索引值也将是(一个字符长)字符串。
我将.replace所有非数字字符都用空字符串,然后总结为reduce:
function count(str) {
return [...str.replace(/\D/g, '')]
.reduce((a, b) => a + +b, 0);
}
console.log(count('abc123rv.rv1'));
TA贡献1875条经验 获得超5个赞
您可以尝试使用解析数字。如果它被解析然后添加它。
function count(str) {
let sum = 0;
for (let i = 0; i < str.length; i++) {
if (parseInt(str[i],10)){ sum += parseInt(str[i],10)}
}
return sum;
}
console.log(count('abc123rv.rv1kaushik221)'))
TA贡献1804条经验 获得超8个赞
要遍历字符串,您必须将split()其转换为数组。然后将字符转换为数字并使用以下命令检查该字符是否不是数字isNaN():
function count(str) {
let sum = 0;
str = str.split('');
for (let i = 0; i < str.length; i++) {
str[i] = Number(str[i])
if (!isNaN(str[i])) sum += str[i]
}
return sum;
}
console.log(count('abc123rv.rv1'));
添加回答
举报