[英]Sorting array of objects using time and Angularjs
我想按從最早到最新的順序對對象數組進行排序。 我最初是使用momentjs庫執行此操作的,但現在可以使用,但是現在不推薦使用我使用的方法。
首先,我嘗試將輸入時間設為標准時間(例如0500),然后使用該屬性對其進行排序。 但是我很難將這個新的標准時間和所有其他屬性推入計划數組。
我當時在考慮使用array.sort()
並array.sort()
am/pm
對其進行排序,然后再按數字對其進行排序。 我不確定該怎么做,因為我必須處理am
和pm
app.js
.controller('SchedulerController', schedulerCtrl);
function schedulerCtrl() {
this.plans = [
{
displayTime: '05:00pm',
duration: '30',
task: 'Team meeting',
},
{
displayTime: '06:00pm',
duration: '60',
task: 'Watch favorite TV show'
}
];
}
schedulerCtrl.prototype.addNewTask = function() {
var that = this;
that.plans.push(that.user);
that.user = '';
}
您可以使用underscorejs進行有效的排序 。
schedulerCtrl.prototype.addNewTask = function() {
var that = this;
that.plans.push(that.user);
_.sortBy(that.plans, function (item) { return item.displayTime });
that.user = '';
}
可以使用自定義過濾器,
<p>{{item | orderBy:sortItemsAccording2Time}}</p>
var App = Angular.module('myApp',[])
App.filter('sortItemsAccording2Time',function(input,scope){
//logic here (service dependency can also be used for orderby service by just injecting the respective service which serves the job)
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.