Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Помогите решить задачку (https://javascript.ru/forum/css-html/80707-pomogite-reshit-zadachku.html)

sanderleik 18.07.2020 12:55

Помогите решить задачку
 
Создать строки `str1`, `str2`, `str3`. Строки состоят из символом любого вида.

Создать массив запрещенных символов `restrictedList = ['!', 'g', '_', '/' ......]`.

Из всех строк исключить все запрещенные символы.

Если кто может помочь решить буду благодарен.

рони 18.07.2020 14:05

sanderleik,
<script>
const remove = (words, letters, pattern) => {
const  escapeRegExp = string => string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
letters = letters.map(escapeRegExp).join('');
let reg = new RegExp(`[${letters}]`, 'g');
const clean = word => word.replace(reg, pattern);
return words.map(clean)
}
let words = ['!сухо!', `мо\\кро`, '[как-то]'];
let letters = ['\\','!','[',']'];
let pattern = '';
let temp = remove(words, letters, pattern)
document.write([words, '<br>', temp]);

</script>

Alexandroppolus 18.07.2020 15:36

Цитата:

Сообщение от рони
reg.lastIndex=0

Это зачем?
Метод replace для g-регулярки отрабатывает по всей строке, не ориентируется на lastIndex, и оставляет его равным 0

рони 18.07.2020 16:10

Цитата:

Сообщение от Alexandroppolus
Это зачем?

на всякий случай.
убрал


Часовой пояс GMT +3, время: 10:01.