這個問題在這里已經有了答案: 最快的 JavaScript 求和 (11 個答案) 41 分鐘前關閉。
在我的本地存盤中,我有一些分數值存盤在陣列中
var obj = localStorage.getItem("scoreList")
輸出
[0,10,10,0,10]
我想要這個值的總和并回傳資料值
sum = 30
我試圖轉換成字串值
var string = JSON.stringify(obj);
output "[0,10,10,0,10]"
我怎樣才能執行這個總和值?
uj5u.com熱心網友回復:
[0,10,10,0,10].reduce((sum, a) => sum a, 0);
uj5u.com熱心網友回復:
localStorage.getItem("scoreList").replace(/(\[|\])/g, '').split(",").map(x => parseFloat(x)).reduce((a,b) => a b, 0)
一個簡單的方法:
JSON.parse(localStorage.getItem("scoreList")).reduce((x, y) => x y)
uj5u.com熱心網友回復:
如果將 scoreList 值設定為陣列,即:
localStorage.setItem('scoreList', [0,10,10,0,10])
當您取回它時,它仍然是一個字串,因此不需要像您對JSON.stringfy. 以下應該足夠了:
const obj = localStorage.getItem("scoreList")
const total = obj.reduce((sum, item) => sum item, 0);
//total = 30
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/459416.html
標籤:javascript
上一篇:根據時間對陣列進行排序
