Сортировка массива по 4 размерностям
Добавлено: 23 окт 2020, 23:06
Некоторое время ломал голову, как бы красиво отсортировать массив по 4 размерностям разом, на помощь пришел мой коллега Федор Одинцов, вот его лаконичный код многомерной сортировки. Кол-во размерностей сортировки исходя из этой идеи можно и нарастить спокойно! Поменять местами a и b в аргументах функции - и сортировка пойдет в обратном порядке. Иными словами круто, в сети подобного не нашел, пусть тут будет:
Образец работы функции на реальном примере массива в 1588 полей по ссылке.
Простой переводчик таблиц Excel в массивы яваскрипт по ссылке.
Смена колонок таблицы на строки таблицы (поворот) по ссылке.
Код: Выделить всё
function Sort_an_array_by_4_dimensions(first, second, third, forth) {
return function(a, b) {
if (a[first] === b[first]) {
if (a[second] === b[second]){
if (a[third] === b[third]){
return a[forth] - b[forth];
} else {
return a[third] - b[third];
}
} else {
return a[second] - b[second];
}
} else {
return a[first] - b[first];
}
}
}
Простой переводчик таблиц Excel в массивы яваскрипт по ссылке.
Смена колонок таблицы на строки таблицы (поворот) по ссылке.