Упорядочить массив по заранее определенным правилам
У меня есть массив валют["GBP", "EUR", "NOK", "DKK", "SKE", "USD", "SEK", "BGN"]
, Я хотел бы заказать его, переместив предварительно определенный список, если валюта присутствует в начале массива. Предопределенный список['EUR', 'USD', 'DKK', 'SKE', 'NOK', 'GBP']
, Так что в этом случае он должен вернуться['EUR', 'USD', 'DKK', 'SKE', 'NOK', 'GBP', 'SEK', BGN']
.
Но в случае, если нефильтрованный массив не содержит всех значений в предварительно определенном списке, он также должен правильно упорядочить его. Например :["GBP", "EUR", "NOK", "LTU", "ZGN"]
должен выглядеть['EUR', 'NOK', 'GBP', 'LTU', 'ZGN'
Я пытался отсортировать его с помощью этой функции:
list.sort(c => ['EUR', 'USD', 'DKK', 'SKE', 'NOK', 'GBP'].indexOf(c))
но все предопределенные валюты помещаются в конец списка, а не в from. Может быть, есть лучший способ сделать это?