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

Sắp xếp mảng đối tượng theo thuộc tính chuỗi trong JavaScript

Mô tả bài toán

Sắp xếp mảng đối tượng theo thứ tự bảng chữ cái của thuộc tính last_name.

Ví dụ minh họa

const arr = [
  { first_name: 'Lazslo', last_name: 'Jamf' },
  { first_name: 'Pig', last_name: 'Bodine' },
  { first_name: 'Pirate', last_name: 'Prentice' }
];

const sortByLastName = arr => {
  arr.sort((a, b) => 
    a.last_name.charCodeAt(0) - b.last_name.charCodeAt(0));
};

sortByLastName(arr);
console.log(arr);

Kết quả

[ 
  { first_name: 'Pig', last_name: 'Bodine' }, 
  { first_name: 'Lazslo', last_name: 'Jamf' }, 
  { first_name: 'Pirate', last_name: 'Prentice' } 
]

Cách chuẩn Unicode

arr.sort((a, b) => a.last_name.localeCompare(b.last_name));

Ưu điểm localeCompare

  • Hỗ trợ Unicode, dấu tiếng Việt, ký tự đặc biệt
  • Tùy chọn sensitivity, ignorePunctuation
  • Hiệu năng tốt hơn so với charCodeAt cho chuỗi dài