Heim > Web-Frontend > js-Tutorial > Wie gruppiere ich ein Array von Objekten nach Schlüssel in JavaScript mit Lodash oder einfachem JavaScript?

Wie gruppiere ich ein Array von Objekten nach Schlüssel in JavaScript mit Lodash oder einfachem JavaScript?

Linda Hamilton
Freigeben: 2024-12-19 19:15:11
Original
916 Leute haben es durchsucht

How to Group an Array of Objects by Key in JavaScript using Lodash or Plain JavaScript?

Gruppieren eines Arrays von Objekten nach Schlüssel mit Javascript und Lodash

Das Gruppieren von Objekten in einem Array basierend auf einem bestimmten Schlüssel ist eine häufige Operation. Während Lodash eine robuste Bibliothek für die Bewältigung solcher Aufgaben bereitstellt, ist es auch möglich, dies mit einfachem Javascript zu erreichen.

Betrachten Sie die folgende Reihe von Autoobjekten:

const cars = [
    {
        'make': 'audi',
        'model': 'r8',
        'year': '2012'
    }, {
        'make': 'audi',
        'model': 'rs5',
        'year': '2013'
    }, {
        'make': 'ford',
        'model': 'mustang',
        'year': '2012'
    }, {
        'make': 'ford',
        'model': 'fusion',
        'year': '2015'
    }, {
        'make': 'kia',
        'model': 'optima',
        'year': '2012'
    },
];
Nach dem Login kopieren

Das Ziel besteht darin, ein zu erstellen neues Array von Objekten, gruppiert nach ihrer „make“-Eigenschaft. Mit einfachem Javascript kann die folgende Lösung angewendet werden:

var result = cars.reduce(function (r, a) {
    r[a.make] = r[a.make] || [];
    r[a.make].push(a);
    return r;
}, Object.create(null));
Nach dem Login kopieren

Dieser Code nutzt Array#reduce, um das Array „cars“ zu durchlaufen. Es prüft für jedes Objekt, ob ein Eintrag für dessen „make“ im „result“-Objekt vorhanden ist. Wenn nicht, erstellt es ein neues Array für „make“ und schiebt das aktuelle Objekt hinein. Wenn bereits ein Eintrag vorhanden ist, wird das Objekt einfach in das Array verschoben.

Lodash bietet für diese Aufgabe auch eine Verknüpfung an:

const groupedCars = _.groupBy(cars, 'make');
Nach dem Login kopieren

Die Methode _.groupBy akzeptiert ein Array und eine Eigenschaft Name und gibt ein neues Objekt zurück, bei dem die Schlüssel die Werte der angegebenen Eigenschaft sind und die Werte Arrays der nach dieser Eigenschaft gruppierten Objekte sind.

Das obige ist der detaillierte Inhalt vonWie gruppiere ich ein Array von Objekten nach Schlüssel in JavaScript mit Lodash oder einfachem JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage