как поссортировать массив относительно другого массива после его сортировки

У меня есть два массива:

var X = [0, 6, 10, 10, 6, 0, -6, -10, -10, -6];
var Y = [10, 8, 3, -3, -8, -10, -8, -3, 3, 8];

Числа с одинаковыми индексами у меня создают координату, например:

X[2] and Y[2] = (10, 3);

И вот какими эти пары сейчас есть, такими они и должны быть всегда. Дальше я сортирую массив Y.

Y.sort(function(a, b) {
    return a - b;
});

И теперь пары у меня уже изменились. Как можно изменить массив X так, что бы пары были как в самом начале?


Ответы (1 шт):

Автор решения: Алексей Шиманский

Правильный ответ будет такой:

хранить эти данные сразу попарно в массиве объектов, т.е.:

let coords = [
    {x: 0, y: 6},
    {x: 12, y: -5},
    {x: -32, y: 12},
    ...
]

Если заходить дальше, то каждая пара - это новый класс new Point(x, y).


И тут, если надо, можно отсортировать по любому ключу

→ Ссылка