Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การจัดกลุ่มอาร์เรย์ตามคุณสมบัติของวัตถุลูกใน JavaScript


เรามีอาร์เรย์ของวัตถุที่มีข้อมูลเกี่ยวกับรถยนต์บางคัน อาร์เรย์จะได้รับดังนี้ -

const cars = [{
   company: 'Honda',
   type: 'SUV'
}, {
   company: 'Hyundai',
   type: 'Sedan'
}, {
   company: 'Suzuki',
   type: 'Sedan'
}, {
   company: 'Audi',
   type: 'Coupe'
}, {
   company: 'Tata',
   type: 'SUV'
}, {
   company: 'Morris Garage',
   type: 'Hatchback'
}, {
   company: 'Honda',
   type: 'SUV'
}, {
   company: 'Tata',
   type: 'Sedan'
}, {
   company: 'Honda',
   type: 'Hatchback'
}];

เราจำเป็นต้องเขียนโปรแกรมที่รวมกลุ่มวัตถุเข้าด้วยกันเพื่อให้วัตถุทั้งหมดมีค่าเท่ากันสำหรับคุณสมบัติประเภทปรากฏร่วมกัน

เราจะจัดเรียงอาร์เรย์ตามคุณสมบัติของประเภทเพื่อให้วัตถุได้รับการจัดตำแหน่งตามลำดับตัวอักษรของคุณสมบัติประเภท

รหัสเต็มสำหรับการทำเช่นนี้จะเป็น -

const cars = [{
   company: 'Honda',
   type: 'SUV'
}, {
   company: 'Hyundai',
   type: 'Sedan'
}, {
   company: 'Suzuki',
   type: 'Sedan'
}, {
   company: 'Audi',
   type: 'Coupe'
}, {
   company: 'Tata',
   type: 'SUV'
}, {
   company: 'Morris Garage',
   type: 'Hatchback'
}, {
   company: 'Honda',
   type: 'SUV'
}, {
   company: 'Tata',
   type: 'Sedan'
}, {
   company: 'Honda',
   type: 'Hatchback'
}];
const sorter = (a, b) => {
   return a.type.toLowerCase() > b.type.toLowerCase() ? 1 : -1;
}
cars.sort(sorter);
console.log(cars);

ผลลัพธ์ในคอนโซลจะเป็น -

[
   { company: 'Audi', type: 'Coupe' },
   { company: 'Honda', type: 'Hatchback' },
   { company: 'Morris Garage', type: 'Hatchback' },
   { company: 'Tata', type: 'Sedan' },
   { company: 'Suzuki', type: 'Sedan' },
   { company: 'Hyundai', type: 'Sedan' },
   { company: 'Honda', type: 'SUV' },
   { company: 'Tata', type: 'SUV' },
   { company: 'Honda', type: 'SUV' }
]