如何強制 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
廣告