Тема: Як оптимізувати скрип перебору
Є функція яка приймає параметр
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 функцію, оскільки зараз вона повільно працює ?