javascript - 对正则表达式产生的所有数字求和

标签 javascript regex math

我正在开发一个对文本中的所有数字求和的函数:

'use strict';

var sum = function(text, regex) {
  var match;
  return !!(match = text.match(regex || /\d+/g)) ?
    match.reduce(function(prev, curr) {
      return +prev + +curr;
    })
  : 0;
}

console.log(sum('1 12 40'));
console.log(sum('10 12 40'));
console.log(sum('1 12 510'));
console.log(sum('LLLLLLLL'));
console.log(sum('10 1'));

并且不工作它与点的数字:

    'use strict';

    var sum = function(text, regex) {
      var match;
      return !!(match = text.match(regex || /\d+/g)) ?
        match.reduce(function(prev, curr) {
          return +prev + +curr;
        })
      : 0;
    }

    console.log(sum('1.10 12.40 40.30'));

所以,我想寻求帮助。我怎样才能用指针对数字求和?

谢谢。

最佳答案

使用正则表达式来匹配带小数点的数字

var sum = function(text, regex) {
  return (text.match(regex || /\d*(?:\.\d*)?/g) || [])
  .reduce(function(prev, curr) {
    return prev + +curr;
  }, 0);
}
document.write(sum('1.10 12.40 40.30'));

关于javascript - 对正则表达式产生的所有数字求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36097114/

相关文章:

javascript - 检查 element 是否是 Shadow dom 中的根文档

javascript - 无法将 ViewController 导入 Ionic 2 中的 Provider

python - 正则表达式:允许包含 "foo"的字符串,但如果同一字符串也包含 "bar",则不允许

javascript - 组内的正则表达式子组以及引用它们的方式

用于数学方程式和图形的Flash库,例如DragMath和PetitGrapheur

javascript - 更干净更快的 JavaScript,用 JavaScript 替换 jQuery

javascript - Protractor :TypeError:browser.driver.isElementPresent 不是函数

c++ - 将 RegEx 子匹配分配给变量或映射 (C++/C)

JavaScript 添加问题

java - 如何在apache FFT中使用复系数