この配列をタイムスタンプでどのようにソートできますか?最速の方法は何ですか(配列には多くのエントリがあります)?
私の配列
myList = new Array();
myList[0] = {};
myList[0]['title'] = 'I am really new';
myList[0]['timestamp'] = 1317039046;
myList[0]['date'] = '2011-09-26T12:10:46+00:00';
myList[1] = {};
myList[1]['title'] = 'I am the oldest';
myList[1]['timestamp'] = 1315656646;
myList[1]['date'] = '2011-09-10T12:10:46+00:00';
myList[2] = {};
myList[2]['title'] = 'I am older';
myList[2]['timestamp'] = 1316866246;
myList[2]['date'] = '2011-09-24T12:10:46+00:00';
myList[3] = {};
myList[3]['title'] = 'I am old';
myList[3]['timestamp'] = 1316952646;
myList[3]['date'] = '2011-09-25T12:10:46+00:00';
myList.sort(function(x, y){
return x.timestamp - y.timestamp;
})
myList
はJavaScript配列であり、sort
メソッドをサポートしています。このメソッドは、戻り値に従って配列をソートする関数を引数として受け入れます。
現在、並べ替えアルゴリズムでは、タイムスタンプが最も低い要素が最初に配置されます。スワップx.timestamp
およびy.timestamp
配列を逆方向に並べ替える場合。