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' } ];

เราต้องเขียนโปรแกรมที่จัดกลุ่มออบเจ็กต์ให้วัตถุที่มีค่า type เหมือนกันอยู่ติดกัน

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

โค้ดเต็มสำหรับการทำเช่นนี้:

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' } ]