У меня есть массив MyArrayOfItems
из Item
объектов с объектами, которые выглядят следующим образом:Javascript сортировать массив в два раза сортировать
Item
{
ContainerID: i, // int
ContainerName: 'SomeName', // string
ItemID: j, // int
ItemName: 'SomeOtherName' // string
}
Я хочу, чтобы отсортировать этот массив таким образом, чтобы он отсортирован по ContainerID
, а затем ItemName
в алфавитном порядке.
У меня есть пользовательская функция сортировки, которая до сих пор выглядит следующим образом:
function CustomSort(a, b) {
Item1 = a['ContainerID'];
Item2 = b['ContainerID'];
return Item1 - Item2;
}
MyArrayOfItems.sort(CustomSort);
Эта сортировка по ContainerID, но как же я тогда сортировать по ITEMNAME?
Спасибо.
возможно дубликат [Javascript массива сортировки двумя полями] (http://stackoverflow.com/questions/6129952/javascript-sort-array-by-two-fields) –
@FelixKling: на самом деле не; Мне нужно его сортировать по алфавиту. – frenchie
Итак? Вы можете легко сравнить stings с '<' and '>', хотя я согласен, что 'localCompare' - лучший способ. Я думал, что общий вопрос заключается в том, как сортировать по двум свойствам, и в этом случае это явно дубликат. –