我正在研究一个将文本中所有数字相加的函数:
'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'));