Tôi đã kiểm tra câu trả lời này nhưng để đạt được kết quả tương tự, đó là để có được phân loại không phân biệt chữ hoa chữ thường, tôi cần sử dụng orderBy
thay sortBy
vì nó cho khả năng chỉ định thứ tự sắp xếp .
Cách duy nhất tôi tìm thấy để đạt được điều đó là tạo một mảng "giữa" được sao chép được ánh xạ thành chữ thường name
:
const users = [
{ name: 'A', age: 48 },
{ name: 'B', age: 34 },
{ name: 'b', age: 40 },
{ name: 'a', age: 36 }
];
let lowerCaseUsers = _.clone(users);
lowerCaseUsers = lowerCaseUsers.map((user) => {
user.name = user.name.toLowerCase();
return user;
});
const sortedUsers = _.orderBy(lowerCaseUsers, ['name'], ['desc']);
console.log(sortedUsers);
Điều này có vẻ thực sự tốn kém và thậm chí nó sẽ phức tạp hơn với nhiều phân loại và tên thuộc tính động.
Có một ý tưởng tốt hơn?
Đây là một Plunker: https://plnkr.co/edit/i1ywyxjFctuNfHtPTcgG