Tôi tìm thấy một phương pháp tuyệt vời để sắp xếp một mảng của các đối tượng dựa trên một trong những tài sản như quy định tại:Làm thế nào để sắp xếp một mảng của các đối tượng với nhiều giá trị trường trong JavaScript
Sort array of objects by string property value in JavaScript
Sử dụng mà chức năng công trình hoàn toàn cho một loại duy nhất (trên tất cả các trình duyệt) và thậm chí là sắp xếp trong một loại EXCEPT khác bằng cách sử dụng Google Chrome! Đây là thói quen ảnh hưởng lớn Ege Özcan cho mảng của các đối tượng
function dynamicSort(property) {
return function (a,b) {
return (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
}
}
Sử dụng một mảng có tên là "dữ liệu" (tất nhiên, mảng của tôi có rất nhiều cặp đối tượng trở lên) ...
var Data = [{Category: "Business", Value: "ABC"},{Category:"Personal", Value:"XYZ"}];
tôi có thể nhận một loại thích hợp nơi trật tự được liệt kê như tất cả các giá trị trong mỗi loại bằng cách làm này ...
Data.sort(dynamicSort("Value"));
Data.sort(dynamicSort("Category"));
bằng cách đầu tiên sắp xếp trên Value
, và sau đó bởi Category
, mảng của tôi đặt tất cả các giá trị theo thứ tự được sắp xếp với tất cả các giá trị Cơ sở kinh doanh được liệt kê trước và sau đó là tất cả các giá trị dựa trên Cá nhân. Hoàn hảo! Ngoại trừ trong Chrome nơi dữ liệu được sắp xếp đúng theo danh mục, nhưng thứ tự của các giá trị trong mỗi danh mục có vẻ khá ngẫu nhiên.
Có ai biết cách tốt hơn để thực hiện sắp xếp trong một sắp xếp cũng sẽ hoạt động trong Chrome không?
sắp xếp theo A và sau đó phân loại độc lập bằng B _ không giống như sắp xếp theo A ** và ** B_. Nếu nó hoạt động trên một số trình duyệt thì đó là một tiếng sáo. – Alnitak