function NumberSearch(str) {
var arr = str.split("");
var sum = 0;
var twoDigit = [];
var two;
var res = [];
var arrFormat = preProcess(arr);
console.log(arrFormat);
//this function returns an array that has all numbers from the string
function preProcess(ele) {
for (var i = 0; i < ele.length; i++) {
if (typeof ele[i] === 'number' && typeof ele[i + 1] === 'number') {
twoDigit.push(ele[i], ele[i + 1]);
two = twoDigit.join("");
res.push(two);
} else {
if (typeof ele[i] === 'number' && typeof ele[i + 1] !==
'number') {
res.push(ele[i]);
}
}
}
return res;
}
for (var k = 0; k < arrFormat.length; k++) {
sum = sum + arrFormat[k];
}
return sum;
}
console.log(NumberSearch("99Hello1"));
我试图通过首先遍历字符串并收集所有数字然后总结来解决问题。
最佳答案
您可以使用正则表达式匹配数字并减少获取的数组。
关于javascript - 尝试返回字符串中数字的总和。如果字符串是“99Hello1”,则输出为100,如果字符串是“9hello9”,则答案为18。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47443576/