Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用矩js计算数组中所有对象的所有持续时间之和_Javascript_Typescript_Momentjs - Fatal编程技术网

Javascript 使用矩js计算数组中所有对象的所有持续时间之和

Javascript 使用矩js计算数组中所有对象的所有持续时间之和,javascript,typescript,momentjs,Javascript,Typescript,Momentjs,我得到一个对象数组,它们都有字段持续时间,也就是一个字符串; 对象的示例: { id: 14070 project: {id: 87, name: "Test project for time tracking"} issue: {id: 10940} user: {id: 107, name: "Alexander Kirillov"} activity: {id: 9, name: "Development"} hours: 0.01

我得到一个对象数组,它们都有字段持续时间,也就是一个字符串; 对象的示例:

  {
    id: 14070
    project: {id: 87, name: "Test project for time tracking"}
    issue: {id: 10940}
    user: {id: 107, name: "Alexander Kirillov"}
    activity: {id: 9, name: "Development"}
    hours: 0.01
    comments: "RARA"
    spent_on: "2020-03-23"
    created_on: "2020-03-23T14:58:18Z"
    updated_on: "2020-03-23T14:58:26Z"
    custom_fields: (2) [{…}, {…}]
    start: "Mon, 23rd Mar"
    duration: "00:01" // HH:mm
    __proto__: Object
    }
数组名为timeEntries=[{},{},…]; 如何使用矩js计算timeEntries中所有对象的所有持续时间之和?谢谢转发

我找到了解决方案:

const totalDurations = durations.split(1).reduce(
  (prev, cur) => moment.duration(cur).add(prev),
  moment.duration(durations[0])
).format("HH:mm");
我找到了解决方案:

const totalDurations = durations.split(1).reduce(
  (prev, cur) => moment.duration(cur).add(prev),
  moment.duration(durations[0])
).format("HH:mm");

你可以这样做:

常量时间项=[{ 持续时间:00:01 }, { 持续时间:01:00 }, { 持续时间:12:30 } ]; const totalDurations=timeEntries.1 .reduceprev,cur=>{ 返回prev.addcur.duration; }, 矩.durationtimeEntries[0]。持续时间; log`总持续时间为:${moment.utctotalDurations.asmillseconds.formatHH:mm}`;
你可以这样做:

常量时间项=[{ 持续时间:00:01 }, { 持续时间:01:00 }, { 持续时间:12:30 } ]; const totalDurations=timeEntries.1 .reduceprev,cur=>{ 返回prev.addcur.duration; }, 矩.durationtimeEntries[0]。持续时间; log`总持续时间为:${moment.utctotalDurations.asmillseconds.formatHH:mm}`;
你是指时间项中所有对象的所有持续时间之和吗?@titlum是的,sry表示错误描述是持续时间格式HH:mm或mm:ss?@titlum HH:mm你是指时间项中所有对象的所有持续时间之和吗?@titlum是的,sry表示错误描述是持续时间格式HH:mm或mm:ss?@titlum HH:mm甚至更好!忘了我们也可以在这里添加依赖项为什么我们需要创建slice1?我们希望在使用reduce之前从数组中删除第一项,否则第一项将被处理两次!更好!忘了我们也可以在这里添加依赖项为什么我们需要创建slice1?我们希望在使用reduce之前从数组中删除第一项,否则第一项将被处理两次!