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

更新于: 2020 年 8 月 28 日

359 次查看

开启您的事业

完成课程取得认证

开始
广告