Как выполнить фильтрацию в JS, чтобы исправить проблемы с зависанием браузера - PullRequest
0 голосов
/ 06 января 2020

У меня есть окно поиска, которое фильтрует данные из следующего массива,

var arr = [
 {"unAssigned": { "ddlItems": [{label:L1u},{label:L2u}]}},
 {"EE01": { "ddlItems": [{label:L2e},{label:L3e},.......{label:L900e}]}},
 {"JobTitle": { "ddlItems": [{label:L1j},{label:L2j}]}},
 {"JobFunction": { "ddlItems": [{label:L1jf},{label:L2jf},....{label:L880jf]}},
 {"Manager": { "ddlItems": [{label:L1m},{label:L2m},...{label:L777m]}}
]

Массив фильтрации функций,

function filterBySearchText(searchString) {
    angular.forEach(_filters, function (filter) {
        angular.forEach(filter.ddlItems, function (ddlItem) {
            if ( ddlItem.label.indexOf(filterText) -1) {
                var result = {};
                angular.copy(ddlItem, result);
            }
        });
    });
}

Из-за огромных данных, присутствующих в 'ddlItems', IE11 браузер блокируется и зависает. Есть ли способ изменить структуру l oop и заставить ее работать. Спасибо.

...