JS tipo ordena con regex

Mi objetivo es ordenar una matriz basada en la prioridad del objeto JS que usa expresiones regulares. Esto es lo que tengo:

Objetos JS definidos:

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)/);

Ordenar objetos definidos:

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

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

La siguiente lógica ignora la prioridad del objeto de clasificación y no secuencia la matriz en el orden deseado que es "CONDO # 13", "TOWNHOUSE 407", "TIMESHARE A-1"

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

Tenga en cuenta que solo se muestra una fracción de los objetos de clasificación JS por brevedad.

Si esta no es la mejor solución para el problema, estoy abierto a cualquier sugerencia de ser un novato en JS.

Respuestas a la pregunta(2)

Su respuesta a la pregunta