Я нашел отличный метод для сортировки массива объектов на основе одного из свойств, как определено в:
Сортировка массива объектов по значению свойства строки в JavaScript
Использование этой функции отлично работает для одного сортировки (во всех браузерах) и даже для сортировки в другом классе EXCEPT с помощью Google Chrome! Здесь Ege Özcan отличная процедура сортировки для массивов объектов
function dynamicSort(property) {
return function (a,b) {
return (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
}
}
Использование массива с именем "Данные" (конечно, у моего массива много пар объектов)...
var Data = [{Category: "Business", Value: "ABC"},{Category:"Personal", Value:"XYZ"}];
Я могу получить правильный вид, где порядок указан как все значения в каждой категории, делая это...
Data.sort(dynamicSort("Value"));
Data.sort(dynamicSort("Category"));
Сначала сортируя по Value
, а затем по Category
, мой массив помещает все значения в порядке сортировки со всеми перечисленными выше значениями бизнес-базы, а затем всеми значениями на основе персонажа. Отлично! За исключением Chrome, где данные сортируются должным образом по категориям, но порядок значений в каждой категории кажется довольно случайным.
Знает ли кто-нибудь лучший способ сделать сортировку в сортировке, которая также будет работать в Chrome?