我有一个对象数组,在其中计算了特定ip的会话(花费的时间)。我已经以hh:mm:ss格式计算了花费的时间,以便于理解。

[ { start: 'Thu, 10 Jan 2019 06:04:49 GMT',
    end: 'Thu, 10 Jan 2019 06:12:22 GMT',
    total_spend: '00:07:27' },
  { start: 'Thu, 10 Jan 2019 07:58:18 GMT',
    end: 'Thu, 10 Jan 2019 07:59:09 GMT',
    total_spend: '00:00:50' },
  { start: 'Thu, 10 Jan 2019 09:28:00 GMT',
    end: 'Thu, 10 Jan 2019 09:59:46 GMT',
    total_spend: '00:31:46' } ]


现在我想要上面数组中的total_spend最高


  与所有对象应花费的最长时间(00:31:46)(31
  分钟46秒)


我不知道如何比较,因为到目前为止,我所看到的这种格式的所有比较都已转换为日期,然后进行了比较。我可以将其转换为ms,然后进行比较。还有其他方法可以执行此操作吗?

最佳答案

你不能只比较字符串吗?如果您执行'stringA'
像这样:

const sessions = [
  { start: 'Thu, 10 Jan 2019 06:04:49 GMT',
    end: 'Thu, 10 Jan 2019 06:12:22 GMT',
    total_spend: '00:07:27' },
  { start: 'Thu, 10 Jan 2019 07:58:18 GMT',
    end: 'Thu, 10 Jan 2019 07:59:09 GMT',
    total_spend: '00:00:50' },
  { start: 'Thu, 10 Jan 2019 09:28:00 GMT',
    end: 'Thu, 10 Jan 2019 09:59:46 GMT',
    total_spend: '00:31:46' }
]

let highest = '00:00:00';
for (let session of sessions) {
  if (session.total_spend > highest) {
    highest = session.total_spend
  }
}
console.log(highest)

关于javascript - 如何从对象Javascript数组中检索花费的最高时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54127536/

10-13 00:18