此函数接收一个包含字母和数字的字符串。它应该将出现在字符串中的所有数字加在一起,然后返回总数。 例如。 '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'