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 ให้อ็อบเจกต์เรียงตามลำดับอักษรของ 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' }
]