如何强制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));

一元(+)运算符,在任何字符串将显式类型强制从String类型强制转换为Number类型之前,如果字符串的第一个字符不是有效数字,则返回NaN,否则返回有效数字。

输出结果

控制台中的输出将为-

372
猜你喜欢