Здравствуйте. Есть массив:
[-2, 2, 4, 6, 8, 10, 3, 5, 7, 9, -1, -11]
Нужно преобразовать его, чтобы он удовлетворял условиям:
- вначале числа кратные двум, от наибольшего к наименьшему.
 
- затем оставшиеся числа от наименьшего к наибольшему.
 
На выходе должен получиться массив:
[ 10, 8, 6, 4, 2, -2, -11, -1, 3, 5, 7, 9 ]
Я написал адскую функцию, которая делает это, приводить её тут не вижу смысла. Можно ли за один прогон с помощью sort() отсортировать как надо?
function sortArr(array) {
            return array.sort((a, b) => {
                if (a % 2 === 0 && b % 2 === 0 && a < b) {
                    return 1;
                }
            });
        }
Эта функция реализует первую часть требований, как её переписать, чтобы удовлетворяла обоим что-то не соображу, есть идеи?