Мне нужно заменить строки в массиве. Сейчас я использую forEach
-loop и switch
, который не чувствует себя очень элегантно:Заменить строки в массиве
let result = [];
source.forEach(el => {
switch (el) {
case 'replace':
result.push('with this'); break;
case ...:
...;
default:
result.push(el);
}
});
return result.join(',');
То, что я хочу, чтобы это замена элементов с другой строкой или используя исходную строку, если не соответствует.
Исходный массив имеет 50 элементов, в заменяющем массиве 30 элементов.
Часть 'new Map()' не работает для меня. Но я не понимаю, почему. Я не получаю ошибку, но я тоже не получаю никакого вывода. Разве 'replace.get (el)' нужен индекс? – user3142695
Это работает для меня на Chrome 54 (я предположил, что вы используете современный браузер или интерпретатор, учитывая, что в вопросе использовался синтаксис стрелок ES6). Параметр 'replace.get()' является всего лишь ключом, поэтому в данном случае это слово из исходного массива. – Alnitak