Sum an array of milliseconds
本问题已经有最佳答案,请猛点这里访问。
我有一个毫秒的数组,我想要总共。 我已经尝试过array.reduce并使用for-loop但是当我在网站上安装或使用时,我得到的只是完全乱码。 如果我得到总和的毫秒数,我可以将它们转换为秒,如果需要,还可以转换为几分钟。
码:
1 2 3 4 5 6 7 8 | 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 |
可选代码:
1 2 3 4 | 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 |
为了完成您的需要,您可以执行以下操作:
您可以使用
然后,要计算秒数,请向下舍入
余数是剩余的毫秒数。
片段:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | var /* Define the array. */ timeArray = [2493, 2109, 4424, 1971, 3411, 1834, 2418], /* Calculate the sum. */ sum = timeArray.reduce((previous, current) => previous + current, 0), /* Calculate the seconds. */ seconds = Math.floor(sum / 1000), /* Calculate the milliseconds. */ milliseconds = sum % 1000; /* Set the value as text to the score element. */ document.querySelector("#score").innerText = seconds +"s" + milliseconds +"ms"; |
1 |