var dates = [
{ date: [ '2016','4','2','10','3','23'] },
{ date: [ '2016','4','1','10','3','23'] },
{ date: [ '2016','4','3','11','3','23'] }
];
dates.sort(function(a,b){
// compound date string in form: "2016,4,2 10:3:23" to pass into Date constructor
var aDate_str = a.date.slice(0,3).join() + " " + a.date.slice(3).join(":"),
bDate_str = b.date.slice(0,3).join() + " " + b.date.slice(3).join(":"),
aTime = (new Date(aDate_str)).getTime(), // getting date as the number of milliseconds
bTime = (new Date(bDate_str)).getTime();
return (aTime == bTime)? 0 : ((aTime < bTime)? -1 : 1);
});
document.write("<pre>" + JSON.stringify(dates, 0, 4) + "</pre>");
'新しいDate(...を)'、パラメータはあなたに依存パラメータソート。 –