Как искать в списке?



  • Есть у меня список значений: артикул;название;описание;цена;кол-во
    Парсю сайт. И я хочу найти в списке есть ли данный артикул, тогда заменить цену и кол-во, а если нет, то добавить строку в список с новым артикулом итп. Там есть получить индекс, но он работает если я знаю целиком строку, а я знаю только артикул. Как мне найти индекс нужного элемента списка?



  • @densenator как вариант, получить полную строку и затем уже через indexOf проверить есть в ней артикул или нет.

     if [[STRING]].indexOf([[ARTIKUL]]) > -1 { "Дальнейшие действия" }
    


  • @densenator Разделитель какой? Но можно и без него
    в списке к каждой строке применяете если содержит indexOf() просто это самый долгий способ перебора. А так если знаете разделитель получаем строку из списка делим ее разделителем наверняка знаем на какой позиции находятся наши артикулы и сравниваем. Это быстрее, хотя и выглядит сложнее. На словах в коде не сильно.



  • @f0cus разделитель строк перевод строки.. в строке значения ; разделяются. Мне список целиком в строку преобразовать?



  • @densenator конечно каждую строку, цикл и в нем разделяем сверяем,

    upd пример
    еуые.xml =)



  • @densenator, если список не сильно большой, то можно использовать filter()

    @GhostZ said in Поиск части текста:

    if ([[NEW_LIST]].filter(function(val){return val.indexOf("test1") > -1}).length > 0) {
    	//Список NEW_LIST содержит "test1"
    } else {
    	//Список NEW_LIST не содержит "test1"
    }
    

Log in to reply