使用reduce将字母和数字组成的字符串中的数字求和

时间:2019-04-30 19:14:31

标签: javascript string sum reduce

此函数接收一个包含字母和数字的字符串。它应该将出现在字符串中的所有数字加在一起,然后返回总数。   例如。 'foo5bar6cat1'=> 12   'foo99cat'=> 18

我试图将其拆分并使用reduce,但在这里发现了一段使用正则表达式和reduce的代码。

function sumDigitsFromString(str) {
  return str.match(/\d/g).reduce((n, c) => n + +c, 0);
}

const example = sumDigitsFromString("foo5foo");
console.log(example) <<should show 5

该功能按我的意愿运行,但是有人可以解释reduce的一部分吗?当前值前面的+号如何工作?

如果将其删除,则会出现断言错误'AssertionError:预期'05'等于5'

0 个答案:

没有答案