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

时间:2019-06-02 07:08:49

标签: javascript types

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

str='hel4l4o';

我创建的代码:

function sumDigitsg(str) {
var total=0;
if(isNaN(str)) {
  total +=str; 
  console.log(total);
}
  //console.log(isNaN(str));
  return total;

}

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式来匹配所有数字(.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));