簡體   English   中英

在node.js中添加HH:MM:SS值數組

[英]Add array of HH:MM:SS values in node.js

我有時間值數組。

var time = [
    "03:05:11",
    "00:00:12",
    "03:03:14"
]

如何添加所有數組值,以使輸出為"06:08:37""03:05:11" + "00:00:12" + "03:03:14" )。

如果沒有N個數組值,如何在不循環訪問node.js的情況下做到這一點?

聽起來像moment.js的工作( http://momentjs.com/

首先,我們需要將時間跨度解析為可用於使用moment.duration構造函數的計算,然后使用數組reduce來總結這些值:

var moment = require('moment');
var sum = [
  "03:05:11",
  "00:00:12",
  "03:03:14"
].map(t => moment.duration(t))
.reduce((sum, current) => sum.add(current), moment.duration());

要將sum格式化為“ hh:mm:ss”格式,可以使用矩持續時間格式插件( https://github.com/jsmreese/moment-duration-format ):

console.log(sum.format("hh:mm:ss"));

由於所有數據都存儲在數組中,因此此答案需要循環,因為所有答案都會如此。

手工Babelified ES5版本

var sum = [
  "03:05:11",
  "00:00:12",
  "03:03:14"
].map(function(t) { return moment.duration(t); })
.reduce(function(sum, current) { return sum.add(current); }, moment.duration());

暫無
暫無

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

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