javascript - 如何在 JS 中执行过滤以修复浏览器冻结问题
问题描述
我有一个搜索框,它从以下数组中过滤数据,
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 浏览器被锁定并冻结。有什么方法可以改变循环结构并使其工作。谢谢。
解决方案
推荐阅读
- c++ - 如何在 UKismetArrayLibrary::Array_Resize 中调整 UE4 TArray 的大小?
- rust - 使用复制和克隆来修复“使用移动值”是否昂贵?
- html - 设置两个 div 元素 hardcore 的高度和宽度并显示:inline-block 也给定相同的边距
- pandas - 将时间序列数据帧转换为单变量 LSTM 分类器的输入
- python - 为什么过滤器在 Django 模板的迭代中不会改变值
- javascript - 使用Javascript删除地图中的多个键集?
- javascript - 身份验证令牌获取确实存在API问题
- node.js - Nodejs发布视图计数保存数据库
- elasticsearch - elasticsearch:无法解析[文本]类型的字段
- visual-studio - 无法使用“source”命令在 VSCode 上为我的烧瓶应用程序激活环境