Поиск по определённой части строки в списке/ресурсе
-
@ynvazius said in Поиск по определённой части строки в списке/ресурсе:
Появилась надобность находить строку из списка либо же ресурса зная лишь её часть, к примеру:
mil2 45gjdjj 58828
hjol f7ewhfw9 01421894Надо найти из этих двух строк ту что содержит "58828", конечно можно через foreach и список сделать проверку через модуль "строка", но проблема в том что проверка идёт из 150 тысяч строк, как это можно сделать красиво?Или оптимизировать чтобы бас не вылетал?
Буду очень рад любой помощи!Спасибо!Вот как я пытался сделать - но это просто крашит бас
В js нет возможности без перебора найти элемент массива по его части. В вашем случае лучше использовать базу данных либо ассоциативные массивы
-
@thepappo said in Поиск по определённой части строки в списке/ресурсе:
@Fox обычный цикл на js должен вроде быстрее работать, чем на кубиках и точно не должен приводить к вылетам.
Любой бесконечный или очень большой цикл без задержки будет приводить к зависанию интерфейса BAS. В зависимости от настройки ОС программа будет либо висеть либо закрываться автоматически.
Здесь скорее всего изначальную задачу можно решить гораздо проще. Например поиск по значению колонке в базе данных отработает в десятки раз быстрее, чем любой перебор данных
-
@Fox said in Поиск по определённой части строки в списке/ресурсе:
Здесь скорее всего изначальную задачу можно решить гораздо проще. Например поиск по значению колонке в базе данных отработает в десятки раз быстрее, чем любой перебор данных
Про БД понятно, что быстрее всего будет - сделать запрос с LIKE. То что при выполнении долгого js бас зависает - если честно, не знал.
-
@thepappo said in Поиск по определённой части строки в списке/ресурсе:
@Fox said in Поиск по определённой части строки в списке/ресурсе:
Здесь скорее всего изначальную задачу можно решить гораздо проще. Например поиск по значению колонке в базе данных отработает в десятки раз быстрее, чем любой перебор данных
Про БД понятно, что быстрее всего будет - сделать запрос с LIKE. То что при выполнении долгого js бас зависает - если честно, не знал.
На самом деле БАС однопоточный, только не говори не кому xD
-
@UserTrue said in Поиск по определённой части строки в списке/ресурсе:
@thepappo said in Поиск по определённой части строки в списке/ресурсе:
@Fox said in Поиск по определённой части строки в списке/ресурсе:
Здесь скорее всего изначальную задачу можно решить гораздо проще. Например поиск по значению колонке в базе данных отработает в десятки раз быстрее, чем любой перебор данных
Про БД понятно, что быстрее всего будет - сделать запрос с LIKE. То что при выполнении долгого js бас зависает - если честно, не знал.
На самом деле БАС однопоточный, только не говори не кому xD
Ты про субпотоки?
-
@Fox Я сильно не вникал, но как я понял его потоки это не реальные потоки внутри процесса. Может ошибаюсь, но даже по ощущениям он работает так же как движок JS, есть цикл событий который легко блокируется синхронным кодом, который долго выполняется.
В БАС например один поток может заблокировать весь скрипт.
-
@UserTrue said in Поиск по определённой части строки в списке/ресурсе:
@Fox Я сильно не вникал, но как я понял его потоки это не реальные потоки внутри процесса. Может ошибаюсь, но даже по ощущениям он работает так же как движок JS, есть цикл событий который легко блокируется синхронным кодом, который долго выполняется.
В БАС например один поток может заблокировать весь скрипт.
я всё это в 1 потоке изначально хотел сделать:)
-
@ynvazius said in Поиск по определённой части строки в списке/ресурсе:
я всё это в 1 потоке изначально хотел сделать:)
xD
-
-
@ynvazius said in Поиск по определённой части строки в списке/ресурсе:
И в след потоках он будто не начинает чекать с начала, а дальше идёт по списку
Так и должно быть. Если хотите использовать в каждом потоке все элементы с самого начала, то вам использовать ресурс в список или просто прочитать в файл в список и работать уже со списком
-