Форум колористов и полиграфистов
https://cielab.xyz/forum/

Сортировка массива по 4 размерностям
https://cielab.xyz/forum/viewtopic.php?f=13&t=642
Страница 1 из 1

Автор:  mihas [ 23:06, Пт, 23 окт 2020 ]
Заголовок сообщения:  Сортировка массива по 4 размерностям

Некоторое время ломал голову, как бы красиво отсортировать массив по 4 размерностям разом, на помощь пришел мой коллега Федор Одинцов, вот его лаконичный код многомерной сортировки. Кол-во размерностей сортировки исходя из этой идеи можно и нарастить спокойно! Поменять местами a и b в аргументах функции - и сортировка пойдет в обратном порядке. Иными словами круто, в сети подобного не нашел, пусть тут будет:
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];
		}
	}
}
Образец работы функции на реальном примере массива в 1588 полей по ссылке.
Простой переводчик таблиц Excel в массивы яваскрипт по ссылке.
Смена колонок таблицы на строки таблицы (поворот) по ссылке.

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/