Я хочу что-то похожее на сортировку данных Mysql, но в jquery.У меня есть вход и тег выбора, например:
Я хочу, чтобы параметры выбора были отфильтрованы и отсортированы в зависимости от значения входного текста.
- Фильтрация Логика ИЛИ, применяемая к вводимому тексту, и все сохраняемые параметры, которые содержат хотя бы одно слово
- Сортировка / Группировка , затем сортировкаостальные параметры по количеству совпадений, так что параметры, содержащие все слова, как во входных данных, отображаются вверху, за ними следуют варианты с одним словом и т. д.Следующее является лишь иллюстрацией и может быть неточным -
Я закончил с логикой фильтрующей части.Теперь начинается сортировка, и я не уверен, как это сделать.
В качестве примера, скажем, во входном тексте размещена строка из 5 слов.Я не знаю, есть ли что-то в jQuery, похожее на порядок в Mysql, по которому можно вернуть отсортированные параметры.Итак, моя логика такая (псевдокод) -
var numberOfWords;
sortedOptions = new Array();
for(cnt=numberOfWords; cnt>0; cnt --)
{
find options containing exactly those many words
append them to array sortedOptions
}
Теперь рассмотрим случай, когда numberOfWords = 5 и cnt = 3.Есть много возможных комбинаций из 3 слов, которые мне нужно проверить, чтобы подготовить варианты с совпадением 3 слов.Это хорошо, но как насчет временной сложности кода, когда количество слов увеличивается?Есть ли лучший оптимизированный способ?
Обратите внимание - Эту проверку, возможно, необходимо выполнить, пока пользователь печатает (при каждом нажатии клавиши), а я не могу подключиться к базе данных бэкэнда, поэтомучасто.Я еще не нашел готовый плагин для той же цели.Пожалуйста, проверьте мой предыдущий вопрос Любой плагин, совместимый с jquery 1.3, для фильтрации выпадающего списка с использованием пользовательского ввода текста и группировки по количеству строк ввода, соответствующих , относительно этого.Если вы знаете какой-либо плагин, который может решить проблему, пожалуйста, напишите туда.Но все равно с нетерпением жду решения этой проблемы.
Спасибо