Есть строки, к примеру:
var a = 'Нижний НовгородВК "Нижегородская Ярмарка" (просмотр) пав. 3';
var b = 'Санкт-ПетербургКонгрессный бизнес-центр "Петроконгресс" (просмотр)';
Есть массив с городами:
var arr = ["Санкт-Петербург", "Нижний Новгород", "Москва"]
Каким образом можно найти совпадение в строке с каким-либо элементом массива? Т.е. чтобы после определенных действий в строке a остался лишь Нижний Новгород?
Далеко не идеальный вариант, но как рабочая идея. Надеюсь, я правильно понял Вашу проблему.
var a = 'Нижний НовгородВК "Нижегородская Ярмарка" (просмотр) пав. 3';
var b = 'Санкт-ПетербургКонгрессный бизнес-центр "Петроконгресс" (просмотр)';
var mas = [a, b]; // массив строк
var arr = ["Санкт-Петербург", "Нижний Новгород", "Москва"];
for (var j = 0; j < mas.length; j++) { // проход по каждой строке
for (var i = 0; i < (arr.length); i++) { // проход по каждому городу
var string = mas[j];
var x = string.indexOf(arr[i]);
if (x > -1) {
mas[j] = arr[i]; // если город есть в строке, то он становится этой строкой
}
}
}
alert(mas);
Самый "примитивный" способ, попробуйте. Единственное, Вы должны быть уверены, что в массивах не будет опечаток. Например, Москва и москва будут не равны. В этом случае нужно будет привести все в один регистр.
var arrOfStrings = ['Нижний НовгородВК "Нижегородская Ярмарка" (просмотр) пав. 3', 'Санкт-ПетербургКонгрессный бизнес-центр "Петроконгресс" (просмотр)'];
var arrOfCities = ["Санкт-Петербург", "Нижний Новгород", "Москва"];
for(let i = 0; i < arrOfStrings.length; i++){
for(let k = 0; k < arrOfCities.length; k++){
//если есть совпадение, перезаписываем элемент в массиве строк
if(arrOfStrings[i].indexOf(arrOfCities[k]) >= 0) {
arrOfStrings[i] = arrOfCities[k];
}
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости