sort()
должен возвращать либо 0
, либо отрицательное / положительное число.
Сортируется с X
с приоритетом:
function sortByPosition(a, b){
if (a.x == b.x) return a.y - b.y;
return a.x - b.x;
}
Это с Y
, имеющим приоритет («естественный» порядок):
function sortByPosition(a, b){
if (a.y == b.y) return a.x - b.x;
return a.y - b.y;
}
Это означает, что вам просто нужно заменить &&
на ||
:
return a.x - b.x || a.y - b.y