Перебрать два массива JavaScript
В одном массиве я получаю данные из textarea, перебираю его регулярками из другого массива. Я застрял, немного не понимаю Javascript. Мне нужно записать найденные ссылки в один блок, другие ссылки (которые не прошли по регуляркам) в другой блок. На регулярки не обращайте внимания, просто хотя бы если в ссылки присутствует слово из массива - записать в блок.
let myText = ['https://www.fdsfsdfsdfsdfd.ru/hack', 'https://www.fdsfsdfsdfsdfd.ru/fdsgdvzlom'];
let reg = 'hack';
let array = [];
function filter(myText, reg) {
for(site of myText) {
let access = site.includes(reg);
console.log(site);
if(!access) {
array.push(site);
}
}
}
filter(myText, reg);
console.log(array);
Получилось только со строкой (reg), но я хочу reg сделать массивом и добавить больше регулярок туда. Я новичок в Javascript, поэтому любая помощь подойдет!
Спасибо!
Ответы (1 шт):
Автор решения: Dmitry Lobanov
→ Ссылка
const input = ['cat', 'can', 'dog'];
const patterns = ['ca', 're', 'ab'];
const validInput = [];
const invalidInput = [];
// для всех строк
for (let str of input) {
let isValid = true;
// проверяем, что строка соответсвует всем правилам
for (let pattern of patterns) {
// здесь может быть регулярка
if (!str.startsWith(pattern)) {
isValid = false;
}
}
if (isValid) {
validInput.push(str);
} else {
invalidInput.push(str);
}
}