繁体   English   中英

字符串中的数字总和 - Javascript

[英]Sum of digits from a string - Javascript

以下任何帮助。 该函数应该采用任何包含字母和数字的字符串。 它应该将字符串中出现的所有数字加在一起并返回总数。

例如 'foo5bar6cat1' => 12 'foo98cat' => 17

我尝试了以下但没有运气。

 function sumDigitsFromString (str) { let arr = str.split(''); arr = arr.reduce(function(a, b) { return Number('0') + Number('a'); }, 0); return arr; }

您可以拆分该字符串,并使用函数reduce来对所有数字求和。

 let add = s => s.split('').reduce((a, c) => a + (isNaN(+c) ? 0 : +c), 0); console.log(add('foo5bar6cat1')); console.log(add('foo98cat'));
 .as-console-wrapper { max-height: 100% !important; top: 0; }

您可以使用match从字符串中获取数字并reduce它。

 function sumDigitsFromString(str) { return str.match(/\\d/g).reduce((n, c) => n + +c, 0); } const out = sumDigitsFromString('foo5bar6cat1'); const out2 = sumDigitsFromString('foo98cat'); console.log(out, out2);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM