2017-10-26 2 views
0

Anfänger hier.
Ich möchte das gesamte Objekt-Array nach Datum und Uhrzeit sortieren. Spätestes Datum und Uhrzeit zuerst.JavaScript, Objekt nach Datum und Uhrzeit sortieren

Mein Problem.
Nicht sicher, wie mit verschiedenen Schlüsselwerten nach Datum und Uhrzeit sortiert wird.
Beispiel: Ich habe Schlüsselwerte starten, stoppen und wiederum. Ich möchte das nach Datum und Uhrzeit sortieren. Ich möchte immer noch die Schlüsselwerte als Referenz auf diesen Wert behalten.

{ 
    "start 0": "2017-10-24T03:15:36Z", 
    "start 1": "2017-10-24T09:13:44Z", 
    "start 2": "2017-10-24T15:41:27Z", 
    "stop 0": "2017-10-23T21:40:27Z", 
    "stop 1": "2017-10-24T03:47:20Z", 
    "stop 2": "2017-10-24T09:42:34Z", 
    "turn 0": "2017-10-22T16:02:51Z", 
    "turn 1": "2017-10-23T22:13:56Z", 
    "turn 2": "2017-10-23T03:19:20Z" 
} 

Ich bin mit moment.js

Vielen Dank im Voraus

+2

Objekt, das ist ein obj ect, kein Array. – Nisarg

Antwort

0
{ 
    "start 0": "2017-10-24T03:15:36Z", 
    "start 1": "2017-10-24T09:13:44Z", 
    "start 2": "2017-10-24T15:41:27Z", 
    "stop 0": "2017-10-23T21:40:27Z", 
    "stop 1": "2017-10-24T03:47:20Z", 
    "stop 2": "2017-10-24T09:42:34Z", 
    "turn 0": "2017-10-22T16:02:51Z", 
    "turn 1": "2017-10-23T22:13:56Z", 
    "turn 2": "2017-10-23T03:19:20Z" 
} 

ist ein Objekt, und da JavaScript-Objekte keine Bestellung, Sortierung Sinn nicht

0

machen Was Sie have ist ein Objekt, aber wenn wir annehmen, dass Sie das folgende Array haben: var datesArr = ["2017-10-24T03: 15: 36Z", "2017-10-24T03: 15: 36Z", "2017-10-24T15 : 41: 27Z "];

Was Sie brauchen, um diejenigen zu sortieren ist: datesArr.sort ((a, b) => new Date (b) - new Date (a))

0

versuchen, diese

res = 
{ 'start 0': '2017-10-24T03:15:36Z', 
    'start 1': '2017-10-24T09:13:44Z', 
    'start 2': '2017-10-24T15:41:27Z', 
    'stop 0': '2017-10-23T21:40:27Z', 
    'stop 1': '2017-10-24T03:47:20Z', 
    'stop 2': '2017-10-24T09:42:34Z', 
    'turn 0': '2017-10-22T16:02:51Z', 
    'turn 1': '2017-10-23T22:13:56Z', 
    'turn 2': '2017-09-23T03:19:20Z' } 

// console.log(res); 
myarr = [] 
Object.keys(res).forEach(key => { 
    console.log(key+" = "+res[key]); 
    myarr.push({ 'key': key, 'stamp': res[key]}); 
} 
); 
// console.log(myarr); 
myarr.sort(function(a, b) { 
    return new Date(a.stamp) - new Date(b.stamp) > 0; 
}) 

// console.log(sorted); 
for(var i in myarr){ 

    console.log(myarr[i]); 

} 

repl link

0
var array=[{ 
    "date": "2017-10-24T03:15:36Z"}, 
      {"date": "2017-10-24T09:13:44Z"}, 
      {"date": "2017-10-24T15:41:27Z"}, 
      {"date": "2017-10-23T21:40:27Z"},{ 
    "date": "2017-10-23T03:19:20Z"} 
] 

array.sort(function(a,b){ 
    return new Date(b.date) - new Date(a.date); 
}); 

versuchen so etwas wie dies sollte Schlüssel gleich sein in jeder