Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Nhóm mảng dựa trên thuộc tính của đối tượng con trong JavaScript

Chúng ta có một mảng các đối tượng chứa dữ liệu về một số loại xe hơi. Mảng được cho 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' }];

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

Chúng ta 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ự bảng chữ cái của các loại xe.

Toàn bộ mã để thực hiện việc này sẽ là:

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

Kết quả đầu ra trong console 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' } ]