@lexstile

Как оптимизировать live search?

Есть массив объектов вида:
[
    {
      code: 'test',
      name: 'Тест',
    }
    // ...........
  ]

Делаю фильтр по нему, пример:
options.filter(({ name }) => name.includes(inputValue));

Ставлю на onChange input.
Но из-за большого объема (около 200 элементов) подтормаживает.
Можно ли как-то такой процесс оптимизировать?
Возможно какие-то функции для поиска подстроки в строке работают быстрее нежели includes?
  • Вопрос задан
  • 67 просмотров
Решения вопроса 2
vovaspace
@vovaspace
Frontend Engineer
Вам нужен debounce. Например, из lodashlodash.com/docs/#debounce.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
На клиенте, если всё:
1. Regex
2. "Деревья"
3. Анаграммы
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы