Ich habe ein Array, das viele Objekte enthält. Ich versuche, das Array basierend auf dem Schlüsselwert jedes Objekts zu sortieren.So sortieren Sie Objekte aus Js-Array, nach Objekt Schlüssel/Wert
So sieht das Objekt wie folgt aus:
var info = [
{name: 'Adam', age: '1987-01-09T18:23:20.000Z'},
{name: 'Issac', age: '1988-09-02T11:17:11.000Z'},
{name: 'Tom', age: '2003-08-07T13:07:03.000Z'},
{name: 'Jane', age: '1997-17-01T14:57:41.000Z'}
];
ich die neuen sorted
genannt (sortiert) Daten in eine Variable gespeichert versuche;
var sorted = info.forEach(function(person) {
var age = moment(String(person.age)).format('MM/DD/YYYY');
return age
}, this);
console.log(sorted)
Also, ich habe momentjs, das Datum in ein Zeitformat zu ändern, die leicht sortiert werden können, aber der sorted
console.log zeigt mir undefined
.
Ehrlich gesagt, ich weiß nicht einmal, wie Sortierfunktionen funktionieren. Zumindest sollte es die age
von der Schleife zurück und somit console.log()
sollte nicht leer gewesen
forEach gibt undefined zurück, würde Karte sein, was gibt ein neues Array – MackoyokcaM
Sie könnten Ihren eigenen Komparator für native 'sort' schreiben, oder verwenden Sie so etwas wie 'lodash':' _.sortBy (info, ['name', 'alter']); '- https://lodash.com/docs/4.17.4#sortBy – lux