Gruppieren von Objekten in Arrays nach Schlüssel
Bei der Programmierung ist es oft notwendig, Objekte innerhalb eines Arrays basierend auf einem gemeinsamen Schlüssel zu gruppieren. Betrachten Sie als Beispiel das folgende Array 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' }, ];
Das Ziel besteht darin, ein neues Array zu erstellen, in dem Autoobjekte nach Marke gruppiert sind. Bei Verwendung von Vanilla-JavaScript besteht ein Ansatz darin, die Methode Array#reduce zusammen mit einem Objekt zu verwenden:
const result = cars.reduce((r, a) => { r[a.make] = r[a.make] || []; r[a.make].push(a); return r; }, Object.create(null)); console.log(result);
Dieser Code durchläuft das Array „cars“ und prüft, ob die aktuelle Marke als Schlüssel im Ergebnisobjekt vorhanden ist. Wenn nicht, fügt es make als Schlüssel hinzu und initialisiert ein leeres Array. Anschließend wird das aktuelle Autoobjekt in das entsprechende Array verschoben, wodurch Objekte effektiv nach ihrer Marke gruppiert werden.
Das resultierende Ergebnisobjekt wird wie folgt strukturiert:
{ 'audi': [ { 'model': 'r8', 'year': '2012' }, { 'model': 'rs5', 'year': '2013' }, ], 'ford': [ { 'model': 'mustang', 'year': '2012' }, { 'model': 'fusion', 'year': '2015' } ], 'kia': [ { 'model': 'optima', 'year': '2012' } ] }
Das obige ist der detaillierte Inhalt vonWie kann ich Objekte in einem JavaScript-Array nach einem gemeinsamen Schlüssel gruppieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!