Как создать новый массив на основе другого?

Есть массив, который может быть различной длины и с разными элементами.

К примеру
let array = [2, 3, 5]
С этого массива нужно создать новый массив и заменить цифры на другие.
Используя сопоставления, нужно создать новый массив
  • 2 - 1
  • 3 - 2
  • (4, 6) - 3
  • 5 - 4
  • (7,90,91) - 5

Должен выйти такой массив.
let newArray = [1, 2, 4]

Подскажите, как это лучше всего сделать, а то мне в голову приходит только вариант с перебиранием через условие. Мне кажется для этой задачи, есть решение лучше.
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
kshshe
@kshshe
Frontend developer
Если правил немного и они простые, можно так:
let array = [2, 3, 5]
let rules = {
	2: 1,
	3: 2,
	4: 3,
	5: 4,
	6: 3,
	7: 5,
	90: 5,
	91: 5
}
let newArray = array.map(item => rules[item] || item)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы