เรามีอาร์เรย์ของออบเจ็กต์ที่มีข้อมูลเกี่ยวกับรถยนต์บางคัน อาร์เรย์มีลักษณะดังนี้:
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' } ]