2014-10-17 84 views
-2

我有一個包含標題和日期的對象的數組。Javascript - 按日期和按字母順序排列數組

[{ 
    title: 'Some title' 
    date: '12.00 PM 17/10/2014' 
}, 
... 
] 

我需要排序按日期和按字母順序排列在同一個時間值,該結果應該如下:

1.00 PM - Btitle 
1.00 PM - Bztitle 
1.00 PM - Ctitle 
3.00 PM - Atitle 
3.00 PM - Btitle 

我應該創造更多的陣列記住狀態等?或者也許可以在單一的sort方法中完成。

+0

你有機會獲得moment.js? – gh9 2014-10-17 14:33:21

+0

提示:如果你可以用'YYYY/MM/DD HH:mm:ss'的格式從'date/time'中得到一個'string',並將它與'title'連接起來,你就可以對'array '這個_merged_數據。 – melancia 2014-10-17 14:35:17

+3

現在在[Meta]討論(http://meta.stackoverflow.com/questions/274630/should-we-add-a-do-my-work-for-me-close-reason?cb=1)。 – Teemu 2014-10-17 14:36:01

回答

7

你可以在一個單一的sort方法。它的骨骼是:

yourArray.sort(function(a, b) { 
    var adate = /* ...parse the date in a.date... */, 
     bdate = /* ...parse the date in b.date... */, 
     rv = adate - bdate; 
    if (rv === 0) { 
     rv = a.title.localeCompare(b.title); 
    } 
    return rv; 
}); 

我會離開,奇怪的日期格式作爲練習爲讀者解析...