Замените элементы массива на основе словаря в javascript

#javascript #arrays

Вопрос:

У меня есть такой словарь :

 var iso_map = {'AFG':'AF','ALB':'AL','DZA':'DZ','ASM':'AS','AND':'AD','AGO':'AO','AIA':'AI','ATA':'AQ','ATG':'AG'}
 

У меня есть массив, подобный этому :

 var isoCodes = ['AFG','AFG','AFG','AGO,'AGO','AFG','AFG','AND','AGO']
 

Я хочу заменить приведенный выше массив, чтобы получить такой вывод:

 var isoCodes - ['AF','AF','AF','AO,'AO','AF','AF','AD','AO']
 

Комментарии:

1. простая карта()…..

2. isoCodes = isoCodes.map(i=>iso_map[i]); легкая домашняя работа

Ответ №1:

Просто используйте карту

 var iso_map = {'AFG':'AF','ALB':'AL','DZA':'DZ','ASM':'AS','AND':'AD','AGO':'AO','AIA':'AI','ATA':'AQ','ATG':'AG'};

var isoCodes = ['AFG','AFG','AFG','AGO','AGO','AFG','AFG','AND','AGO']

var result = isoCodes.map(x => iso_map[x]);

console.log(result);