Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธี Group By Array of Objects ใน JavaScript ที่มีประสิทธิภาพที่สุด

วิธีมีประสิทธิภาพที่สุด group by key บน array of objects ใน JS คือใช้ reduce function

reduce() method execute reducer function (ที่คุณให้) บนแต่ละ element ของ array ได้ single output value

ตัวอย่าง

const people = [    { name: 'Lee', age: 21 },    { name: 'Ajay', age: 20 },    { name: 'Jane', age: 20 } ]; function groupBy(objectArray, property) {    return objectArray.reduce((acc, obj) => {       const key = obj[property];       if (!acc[key]) {          acc[key] = [];       }       // Add object to list for given key's value       acc[key].push(obj);       return acc;    }, {}); } const groupedPeople = groupBy(people, 'age'); console.log(groupedPeople);

ผลลัพธ์

{ 20: [ { name: 'Ajay', age: 20 }, { name: 'Jane', age: 20 } ], 21: [ { name: 'Lee', age: 21 } ] }