如何強制 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 次檢視

開啟您的事業

完成課程取得認證

開始
廣告