私はオブジェクトの配列を持っています。私は2つの条件を使用してそれをソートする必要があります。2つの条件で並べ替えるオブジェクトの配列
[{
id: 412,
start_date: 1488479400,
status: 1
}, {
id: 560,
start_date: 1499451100,
status: 0
}, {
id: 112,
start_date: 1499091200,
status: 0
}, {
id: 512,
start_date: 1488474500,
status: 1
}, {
id: 750,
start_date: 1483473100,
status: 1
}, {
id: 123,
start_date: 1499106600,
status: 0
}, ]
2つの条件を使用してこれを並べ替える必要があります。
- ステータス1を持つすべてのオブジェクトは、日付が一次、すなわち、最高の日付降順でなければならない
- 最初に来るべきです。ここで
が期待される出力
[{
id: 750,
start_date: 1483473100,
status: 1
}, {
id: 512,
start_date: 1488474500,
status: 1
}, {
id: 412,
start_date: 1488479400,
status: 1
}, {
id: 112,
start_date: 1499091200,
status: 0
}, {
id: 123,
start_date: 1499106600,
status: 0
}, {
id: 560,
start_date: 1499451100,
status: 0
}, ]
何私が試したことは、データに配列を割り当てthis answer
を踏襲し、その後
data.sort(function(a,b){return a.start_date - b.start_date()});
だが、それは使用してソートしませんでした開始日
'b.start_date()'それは機能しません。 –
日付の書式はあなたのフィドルでは同じではありません(実際、フィドルではおそらく期待通りのことをしていません。*引用符なしの '01-01-2017' *は数字-2017(1 - 1 - 2017)あなたの実際のデータはあなたの質問に示されているように 'start_date'を持っていますか? – nnnnnn