【发布时间】:2018-05-17 20:00:20
【问题描述】:
我有一个我想要的毫秒数组。我已经尝试了 array.reduce 并使用了 for 循环,但是当我对其进行控制台或在网站上使用时,我得到的只是乱码。如果我得到毫秒的总和,我可以将它们转换为秒,如果需要,还可以转换为分钟。
代码:
window.timeArray = [2493, 2109, 4424, 1971, 3411, 1834, 2418]
let totalTimeSum = 0
for (let i = 0; i < window.timeArray.length; i++) {
totalTimeSum += parseInt(window.timeArray[i])
}
document.querySelector('#score').innerText += totalTimeSum
// 1866018660, should be 15249 - 15 sec 249 millisec
可选代码:
let totalTime = (sum, value) => sum + value
let totalTimeSum = window.timeArray.reduce(totalTime)
document.querySelector('#score').innerText += totalTimeSum
// 1866018660, should be 15249 - 15 sec 249 millisec
【问题讨论】:
-
为什么
parseInt用于数字,window对象和+=用于innerHTML? -
@NinaScholz 我有一个 Div,我想在其中添加时间,因此 += 到 InnerText。至于其他的我是从网上得到的想法......
-
另外,你怎么会是 15249?这些数字的总和是 18660
-
@TimothyGroote 我在计算器上添加了它们,可能漏掉了一个数字,抱歉。
标签: javascript arrays for-loop time reduce