javascript - 如何在javascript中计算字符串中包含的数字?

标签 javascript types

我有一个函数,我想计算字符串中包含的数字。

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/

相关文章:

javascript - 拥有父元素时如何包装元素?

javascript - 如何使用HTML和CSS解决移动应用程序的固定位置

java - 为什么编译器允许将类 "I"的变量分配给继承 "N"类的类 "I"的对象

php - is_numeric() 与 is_float() 与 is_int()

java - 如何将包含List的Java Map转换为Scala Map

javascript - 在此 block 中用 if/else 替换嵌套的条件运算符

javascript - 无法在 Controller codeigniter 中打印事件

javascript - Redux - 让不可能的状态成为可能

java - 获取泛型类型或泛型实例的类

c# - 使用 GetType().ToString() (type1)+(type2) 意味着什么?