Как быстро найти элемент <option> в <select> по значению с помощью JavaScript?

У меня есть выпадающий список <select> с огромным количеством вариантов. Мне нужно с помощью JavaScript найти конкретный элемент <option> из всех доступных вариантов, зная только его значение. При этом неважно, выбран этот элемент или нет.

Проблема в том, что в списке содержится несколько тысяч элементов, и мне приходится выполнять такой поиск сотни раз в цикле. Сейчас я перебираю массив всех опций в поисках нужного элемента. Но это работает крайне медленно - браузер просто зависает на несколько минут, даже на мощном компьютере.

Существует ли более быстрый способ решить эту задачу? Готов рассмотреть даже решения, которые работают только в определенных браузерах, хотя универсальный DOM-метод был бы предпочтительнее.

У меня была похожая ситуация с большими селектами. Кроме кеширования еще советую проверить - а точно ли нужен такой огромный список? Может имеет смысл перейти на виртуализацию или подгрузку по частям? А если все-таки нужен весь список сразу, то попробуй WeakMap вместо обычного объекта для кеша - он лучше с памятью работает когда элементы удаляются.

А ты пробовал создать Map или объект для кеширования? Один раз проходишь по всем опциям и сохраняешь ссылки на элементы по их значениям. Потом поиск будет мгновенным через обращение к ключу. Только не забудь обновлять кеш если список изменяется.