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

Поддержка
  • Пытаюсь получить индекс с помощью Получить Индекс
    alt text
    В поле Значение вставляю нужный домен (для примера: sbis.ru)
    А переменная список (где нужно найти домен) содержит эти элементы

    каждая строка новый элемент списка
    Теперь по идеи функция должна мне вернуть номер индекса где присутствует домен sbis.ru, т.е 8
    Но я получаю -1 (т.е домен отсутствует)
    Как я могу реализовать поиск чтоб функция вернула мне индекс даже если есть совпадение по определенному кусочку в строке ?

  • Не должна, надо перебрать список в цикле, проверяя каждый элемент регуляркой

  • @olegar Это я сейчас и делаю. Но на это уходит время.

  • Может есть какое то регулярное выражение с помощью которого можно игнорировать все элементы до нужного домена и после ?
    Типа

    [\S\s]+sbis.ru[\S\s]+
    

    И через эту регулярку дать поиск по списку

  • @dilolo
    Что разобрался ?
    В любом случаи нужно будет перебирать масив.
    Используй "Выполнить код"
    Вот вариант твоего решения:

    var arr = [
    "<h3 class=\"LC20lb MBeuO DKV0Md\">Беспроводные сигнализации AJAX в Калининграде от ...</h3>*https://bg39.ru/manufacturers/ajax/",
    "<h3 class=\"LC20lb MBeuO DKV0Md\">Ajax - беспроводные сигнализации в Калининграде в ...</h3>*https://hdprocctv.ru/katalog/sistemy-videonablyudeniya/ajax/",
    "<h3 class=\"LC20lb MBeuO DKV0Md\">AJAX⚔️ (@ajax_kaliningrad) • Instagram photos and videos</h3>*https://www.instagram.com/ajax_kaliningrad/",
    "<h3 class=\"LC20lb MBeuO DKV0Md\">AJAX StarterKit комплект беспроводной смарт ... - iCenter</h3>*https://icenter-store.ru/gadzhety/umnyy-dom/ajax-starterkit-komplekt-besprovodnoy-smart-signalizatsii-tsvet-belyy/",
    "<h3 class=\"LC20lb MBeuO DKV0Md\">AJAX StarterKit Plus комплект беспроводной смарт ... - iCenter</h3>*https://icenter-store.ru/gadzhety/umnyy-dom/ajax-starterkit-plus-komplekt-besprovodnoy-smart-signalizatsii-tsvet-belyy/",
    "<h3 class=\"LC20lb MBeuO DKV0Md\">ООО \"СК АЯКС\" - Калининград - СПАРК</h3>*https://spark-interfax.ru/kaliningradskaya-oblast-kaliningrad/ooo-sk-ayaks-inn-3906328580-ogrn-1143926022316-1044c5eb1f3f4fb29908ccf8331d2445",
    "<h3 class=\"LC20lb MBeuO DKV0Md\">Охранные системы и сигнализации AJAX в Калининграде</h3>*https://kaliningrad.tiu.ru/Ohrannye-sistemy-i-signalizatsii;12678-Ajax",
    "<h3 class=\"LC20lb MBeuO DKV0Md\">СК АЯКС, ООО (236029, Калининградская обл., г.о ... - СБИС</h3>*https://sbis.ru/contragents/3906328580/390601001",
    "<h3 class=\"LC20lb MBeuO DKV0Md\">sb39.ru - Калининград</h3>*https://sb39.ru/",
    "<h3 class=\"LC20lb MBeuO DKV0Md\">ООО \"СК Аякс\" - Rusprofile</h3>*https://www.rusprofile.ru/id/8600122"
    ];
    
    var reg = /sbis.ru/;
    var index = [];
    
    arr.forEach(function(item, i, arr) {
        if( reg.test(item) == true){
            index.push(i);
        };
    });
    
    log(index);
    

    Вернет все совпадения в массиве.

  • This post is deleted!
  • @dilolo said in Получить индекс по присутствие элемента:

    Может есть какое то регулярное выражение с помощью которого можно игнорировать все элементы до нужного домена и после ?
    Типа

    [\S\s]+sbis.ru[\S\s]+
    

    (https:\/\/[?.][a-zA-Z0-9А-яЁё]+.[A-z]+)

  • @ediczr Нет еще. Спасибо за помощь но я бы хотел сделать без цикла

  • @denanotherday Это если регулярка найдет там любую ссылку. А как сделать чтоб он нашел ссылку с моим доменом ?

  • Думаю проще всего собрать список из готовых элементов - доменов. Зачем тащить в него весь код элемента.....