Тема: Як оптимізувати скрип перебору
Є функція яка приймає параметр 
 selectedText - рядок для пошуку елементів у 
 DDL - dropdownlist DOM елементі 
Якщо є збіг елемент показується, в іншому випадку приховується
Показ і приховування елементу здійснюється за допомогою display css властивості
function FilterOrganisations(selectedText, DDL, skipFirstItem = true)
{
    var rval = selectedText.toUpperCase();
    var i = skipFirstItem ? 1 : 0;
    for (; i < DDL.length; i++) {
        var currentItem = DDL.item(i);
        var lval = currentItem.innerText.toUpperCase();
        
        if(lval.includes(rval))
        {
            currentItem.style = "display: block;";
        }
        else
        {
            currentItem.style = "display: none;";
        }
        DDL[i] = currentItem;
    }
}Ось "живий" приклад
Введіть ever в поле вводу і натисніть на dropdownlist
https://jsfiddle.net/4hx3g72d/1/
Як можна оптимізувати FilterOrganisations функцію, оскільки зараз вона повільно працює ?