【发布时间】:2020-06-25 20:03:35
【问题描述】:
查看
<div v-for="todo in sortedArray">
<b-button block pill variant="outline-info" id="fetchButtonGap" v-model:value="todo.items[0].arrivalTime">
{{fromMilTime(todo.items[0].arrivalTime)}}
</b-button>
</div>
脚本
sortedArray: function() {
function compare(a, b) {
var standardTimeA = moment(a.items[0].arrivalTime, "HHmm").format("HH:mm A");
var standardTimeB = moment(b.items[0].arrivalTime, "HHmm").format("HH:mm A");
if(standardTimeA = standardTimeB){
let unique = [...new Set(standardTimeA,standardTimeB)];
}
if (standardTimeA < standardTimeB)
return -1;
if (standardTimeA > standardTimeB)
return 1;
return -1;
}
return this.allbookings.sort(compare);
}
fromMilTime: function(todo){
var militarytime = todo;
var standardTimeB = moment(militarytime, "HHmm").format("hh:mm A");
return standardTimeB;
},
现在,如果 items.arrivalTime 包含多个时间,例如 11:00 AM 、 12:00 PM 、 09:00 AM 和 11:00 AM。首先,它使用sortedArray() 将时间排序为 09:00 AM、11:00 AM、11:00 AM 和 12:00 PM。
有没有办法在sortedArray() 函数之后删除重复值?应该是上午 09:00、上午 11:00 和下午 12:00。
【问题讨论】:
-
1.考虑将
sortedArray放在计算属性中。 2. 除非你有非常好的理由,否则不要使用var。 3.考虑使用dayjsnpm。它要小得多,而且做同样的事情。 4. 在您的if块中,您使用的是单个=。应该是==或===。
标签: javascript vue.js momentjs