Проверить, имеется ли данная подстрока в каждом элементе массива строк

145
07 марта 2019, 06:50

Имеется массив строк, необходимо проверить содержится ли некая подстрока в каждом элементе массива строк, в случае, если хоть в одной строке ее нет, нужно вернуть false.

Алгоритм до ужаса простой, но задание требует от решения минимум символов в коде.

Есть ли какие-нибудь компактные конструкции для решения этой задачи в javascript? Язык начал трогать совсем недавно.

Эта штука нужна для проверки в блоке if-else.

Answer 1

const test = ['тест', 'тестировщик','те2ст']; 
const test2 = ['тест', 'тестировщик','тестовый']; 
let result = test.every(elem => ~elem.indexOf('тест')); 
let result2 = test2.every(elem => ~elem.indexOf('тест')); 
console.log(result); 
console.log(result2);

Answer 2

Возьмем к примеру этот массив:

var test = ['Привет0', 'Привет1', 'Привет2', 'При_вет3'];

Если нужно проверить, содержится ли подстрока 'Привет' в каждом элементе массива, используем эту функцию:

function include(array, key) {
    var regexp = new RegExp(key, 'g');
    return array.join(' ').match(regexp).length == array.length;
}
console.log(include(test, 'Привет')); // false
READ ALSO
Как поменять кавычку внутри слова, не меняя другие кавычки в тексте

Как поменять кавычку внутри слова, не меняя другие кавычки в тексте

Нужно сделать регулярными выражениямиКак написать шаблон для замены кавычек c " на ' - только тех которые находятся внутри слов?

172
Leaflet растягивающийся маркер с текстом

Leaflet растягивающийся маркер с текстом

Использую Leaflet плагин extra-markers Если добавить marker с описанием icon:

196
Перевести код с использованием классов

Перевести код с использованием классов

Помогите переделать этот код с использованием классов и конструкторов для инициализации объектов классов

174
Почему не работает await в данном случае?

Почему не работает await в данном случае?

друзьяНедавно начал изучать Ноду, в качестве обучающего задания придумал написать асинхронный многопоточный парсер с ограничением кол-ва...

222