169 похожих чатов

Ребят, подскажите, такая задача Есть таблица, мне нужно реализовать пользовательский фильтр

по таблице (ну типо строка поиска, в ней вводишь слово или часть слова и все строки, где нашлись совпадения остаются)

Какой вариант реализации у меня сейчас, это максимально дуболомный, я бы сказал

Я беру все поля в одной строке, перевожу их в одну строку, потом ищу подстроку в этой строке и если такая подстрока есть то оставляю ее

Получается я делаю 3 прохода цикла
1. Перевожу все значения из каждой строки в одну слитную строку
2. Ищу какие индексы у строк имеют данную подстроку
3. Фильтрую исходный массив и оставляю в нем только те индексы, которые нашлись в п.2

Это работает, безусловно, но вдруг у меня будет очень большая таблица и мне кажется, что будет слишком большое количество операций

Есть ли варианты оптимизации? Может быть где то есть хорошие статьи как реализовывать фильтрацию данных на стороне клиента?

5 ответов

4 просмотра

Что мешает делать это за один проход по строкам фильтром, а внутри искать по всем полям

https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D1%84%D0%B8%D0%BA%D1%81%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE

Konstantin-Kulebaev Автор вопроса
Illya Klymov 🇺🇦
Что мешает делать это за один проход по строкам фи...

Ну в целом да, но все равно дуболомный способ какой-то

Konstantin-Kulebaev Автор вопроса
Stanislav Lashmanov
https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D...

Спасибо, прочитаю, думаю что это полезно

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Как сделать чтобы short точно был 2 байта, int точно 4 байта ?(без стандартных библиотек, ну типа без int16_t, int32_t)
#
8
Всем привет. Испытываю проблемы в работе БД, а именно огромного роста логов, такого характера: 024-05-16 18:39:07 +05 sentry sentry [unknown] 1050169 7-1 app-sentry01.corp.ru>...
Alexey
2
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Только такой if ($modx->event->name == 'OnBeforeCartItemAdding') { $meta = $params['item']['meta']; $lang = $modx->getConfig('_lang'); // проверяем, задана ли опция i...
Multi Web
1
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Карта сайта