Сортировка массива JS с помощью регулярных выражений

Моя цель - отсортировать массив по приоритету объекта JS, который использует регулярные выражения. Вот что у меня есть:

Определены объекты JS:

var rx_CondoIndicator = new RegExp(/\bCONDO(MINIUM)?(?!S)/);

var rx_TownhouseIndicator = new RegExp(/\bTOWN\s*(HOUSE|HOME)(?!S)/);

var rx_TimeshareIndicator = new RegExp(/\bTIMESHARE(?!S)/);

Сортировка определенных объектов:

var so_UnitKeywordIndicator = {
    rx_CondoIndicator: 1,
    rx_TownhouseIndicator: 2,
    rx_TimeshareIndicator: 3
};

arrUnitNumber = ['TIMESHARE A-1', 'TOWNHOUSE 407', 'CONDO #13'] 

Следующая логика игнорирует приоритет объекта сортировки и не упорядочивает массив в желаемом порядке: «CONDO # 13», «TOWNHOUSE 407», «TIMESHARE A-1»

arrUnitNumber.sort(function(x,y){
    return so_UnitKeywordIndicator[x] - so_UnitKeywordIndicator[y];
})

Обратите внимание, что для краткости показана только часть объектов сортировки JS.

Если это не лучшее решение для проблемы, я открыт для любых предложений, являющихся новичком в JS.

Ответы на вопрос(2)

Ваш ответ на вопрос