Znalazłem świetny sposób, aby posortować tablicę obiektów w oparciu o jedną z właściwości, jak zdefiniowano w:Jak sortować tablicę obiektów z wielu wartości pola w JavaScript
Sort array of objects by string property value in JavaScript
Korzystanie że dzieła funkcyjnych idealnie dla jednego sortowania (we wszystkich przeglądarkach), a nawet sortowania w ramach innego rodzaju, Z WYJĄTKIEM korzystania z Google Chrome! Oto wielka rutyna rodzaj Ege Ozcan dla tablic obiektów
function dynamicSort(property) {
return function (a,b) {
return (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
}
}
pomocą tablicy o nazwie „Data” (oczywiście, moja tablica ma wiele więcej par Object) ...
var Data = [{Category: "Business", Value: "ABC"},{Category:"Personal", Value:"XYZ"}];
mogę dostać właściwa kolejność sortowania, gdzie znajduje się na liście wszystkich wartości w każdej kategorii w ten sposób ...
Data.sort(dynamicSort("Value"));
Data.sort(dynamicSort("Category"));
przez pierwsze sortowanie Value
, a następnie przez Category
, moja tablica umieszcza wszystkie wartości w porządku posortowanym, najpierw wszystkie wartości baz danych biznesowych, a następnie wszystkie wartości oparte na danych osobistych. Idealny! Z wyjątkiem Chrome, w którym dane są sortowane według kategorii, ale kolejność wartości w każdej kategorii wydaje się raczej losowa.
Czy ktoś wie o lepszym sposobie sortowania w rodzaju, który również działa w Chrome?
sortując A, a następnie niezależnie sortując B nie _is taka sama jak sortując A ** i ** B_. Jeśli zadziałało w niektórych przeglądarkach, był to błąd. – Alnitak