如何对ISO 8601持续时间进行排序

问题描述

如何对ISO 8601持续时间进行排序示例:在JavaScript中两次相同时间之间的“ P1DT02H26M”,

我只是尝试过这种方式。

var asc = true
document.getElementById('durationSort').addEventListener('click',function(){
  if(asc){
    modifiedData.data.offers.sort(function(a,b) {
      var c = a.slices[0].duration,d = b.slices[0].duration; 
      return c-d; 
    })
    asc = false
    offers(modifiedData)
    document.getElementById('durationarrow').innerHTML = '<i class="fas fa-hand-point-down" style="color:#01b1ef;"></i>'
    document.getElementById('arrivalarrow').innerHTML = null
    document.getElementById('depaturearrow').innerHTML = null
    document.getElementById('pricearrow').innerHTML = null
  }else{
    var list1 = modifiedData.data.offers
    list1.sort(function(a,b){
      var c = a.slices[0].duration,d = b.slices[0].duration; 
      return c-d; 
    })
    
    modifiedData.data.offers = list1.reverse()
    asc = true
    offers(modifiedData)
    document.getElementById('durationarrow').innerHTML = '<i class="fas fa-hand-point-up" style="color:#01b1ef;"></i>'
    document.getElementById('arrivalarrow').innerHTML = null
    document.getElementById('depaturearrow').innerHTML = null
    document.getElementById('pricearrow').innerHTML = null
  }
});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)