Computer >> Máy Tính >  >> Lập trình >> Javascript

Phân nhóm trên cơ sở JavaScript thuộc tính đối tượng

Chúng tôi có một mảng các đối tượng chứa dữ liệu về một số ô tô. Mảng được đưa ra như sau -

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

Chúng tôi được yêu cầu viết một chương trình nhóm các đối tượng lại với nhau để tất cả các đối tượng có cùng giá trị cho thuộc tính kiểu xuất hiện cùng nhau.

Chúng ta sẽ chỉ cần sắp xếp mảng theo thuộc tính type để các đối tượng được căn chỉnh theo thứ tự không theo thứ tự của thuộc tính type.

Mã đầy đủ để thực hiện việc này sẽ là -

Ví dụ

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);

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

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