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