Ни как не могу понять принцип работы .sort() в javascript'е, перечитал кучу ресурсов, думал, что понял, но не тут то было, есть ситуация, в которую меня загнали обстоятельства, так что изменить исходные данные Я не могу, могу конечно пересобрать массив на клиенте, но не желательно.
Ситуация такая, есть массив, каждый элемент которого, массив с четырьмя строками, мне нужно дать пользователю возможность отсортировать список на экране.
Пример
Пример сильно упрощен, без кнопочек и прогрессбаров, но сути это не меняет, Я проверил, поведение одинаковое, условия воссоздал максимально точно.
Смысл в том, что у меня не получается отсортировать массив по значению array[1], сортирую стандартным array.sort(sortFunction);
Так:
function sortFunction(i, ii) {
if (i[1] > ii[1])
return 1;
else if (i[1] < ii[1])
return -1;
else
return 0;
}
и так:
function sortFunction(i, ii) {
return i[1]-ii[1];
}
Результат одинаковый, в опере, файрфокс и сафари сортирует по array[0], в хроме происходят чудеса.