如何从对象Javascript数组中检索花费的最高时间
我有一个对象数组,在其中我计算了特定ip的会话(花费的时间)。我已经用hh:mm:ss格式计算了花费的时间,这样就很容易理解了如何从对象Javascript数组中检索花费的最高时间,javascript,arrays,Javascript,Arrays,我有一个对象数组,在其中我计算了特定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 201
[ { 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' } ]
现在我想从上面的数组中得到最高的总花费,即
与所有应为“00:31:46”(31)的对象进行比较所用的最大时间
分46秒)
我不明白我将如何比较,因为到目前为止,我看到的所有这种格式的比较都转换为日期,然后进行比较。或者我可以把它转换成ms,然后我应该进行比较。是否有其他方法来执行此操作?您可以通过从
开始
和结束
属性中提取差异来对递减会话数组进行排序,然后只访问第一个元素
let sessions=[{开始:'Thu,2019年1月10日06:04:49 GMT',结束:'Thu,2019年1月10日06:12:22 GMT',总花费:'00:07:27'},{开始:'Thu,2019年1月10日07:58:18 GMT',结束:'Thu,2019年1月10日07:59:09 GMT',总花费:'00:00:50'.{开始:'Thu,2019年1月10日09:28:00 GMT',结束:'Thu,总花费:'00:31:46']
sessions.sort((a,b)=>(新日期(b.end)-新日期(b.start))-(新日期(a.end)-新日期(a.start));
console.log(会话[0]。总花费)代码>您不能只比较字符串吗?如果执行“stringA”<“stringB”,JavaScript将比较这两个字符串,就好像它们将根据unicode值按字母顺序排序一样,因此较低的时间将正确地计算为“小于”较高的时间
像这样:
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)
不。。。我不想只为了这个目的而使用任何其他软件包。还有其他建议吗@ritajSo只需手动将其转换为毫秒。如果您想要更高的分辨率,则只能从字符串中获取秒数,格式为您所拥有的格式,显示的仅此而已,即1970年以来的历元时间戳(以毫秒为单位)。使用毫秒也容易得多,只是(最新-第一个)会给你差值,然后将其转换回时间字符串。最好使用。reduce
和Math.max
tq来快速响应和努力:)哇哦!!。。。我以为字符串比较不起作用!。。全面质量管理