如何强制 JavaScript 进行数学运算,而不是将两个字符串放在一起?
假设我们有一个字符串数组,它基本上是由这样的数字字符串数组组成 −
const arr = ['3', '3', '55', '23', '67', '43', '12', '67', '87', '12'];
我们需要编写一个 JavaScript 函数,此函数会接收这样的一个数组,并返回此数组所有元素的和,而不是将字符串连接到另一个字符串。
让我们编写此函数的代码 −
示例
const arr = ['3', '3', '55', '23', '67', '43', '12', '67', '87', '12']; const sumString = arr => { const num = arr.reduce((acc, val) => { const sum = acc + (+val || 0); return sum; }, 0); return num; }; console.log(sumString(arr));
一元运算符 (+) 在任何字符串之前强制执行类型强制转换,即将字符串类型转换为数字类型,如果字符串的第一个字符不是有效的数字,则返回 NaN,否则返回一个有效的数字。
输出
控制台的输出将是 −
372
广告