簡體   English   中英

在JavaScript中將多個字符串添加為數字

[英]Adding multiple strings as numbers in Javascript

我有以下代碼將多個字符串轉換為數字,這很好用,但是我不喜歡它的外觀,並且想知道我是否可以用更好的方式編寫它。

  Number(result.channels.electricity.chan[0].day[0]._)
+ Number(result.channels.electricity.chan[1].day[0]._)
+ Number(result.channels.electricity.chan[2].day[0]._)
+ Number(result.channels.electricity.chan[3].day[0]._)
+ Number(result.channels.electricity.chan[4].day[0]._)
+ Number(result.channels.electricity.chan[5].day[0]._)

有沒有更干凈的方式寫這個?

用reduce很簡單:

var sum = results.channels.electricity.chan.reduce(function(a, b){
    return a + Number(b.day[0]._);
}, 0);

嘗試使用while循環

 var channels = ["1", "2", "3", "4", "5"], i = -1, res = 0; while (++i < channels.length ) res += Number(channels[i]); console.log(res) 

純娛樂。 具有一些ES6-7功能:

let chans = results.channels.electricity.chan;
let total = chans.reduce((sum, { day: [ { _ } ] }) => (sum + Number(_)), 0);

您可以做的幾件事。

  1. 提高可讀性的一個小解決方案是將chan屬性分配給變量,這樣您就不必重復整個路徑。 例如var chan = result.channels.electricity.chan
  2. 使用forEach遍歷數組元素並在循環內遞增變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM