[英]Javascript- how do you convert this foreach loop to a regular for-loop?
此嵌套循环在我的应用程序中运行非常慢,因此我试图将其更改为使用常规的for循环而不是foreach。 我对find()部分有些困惑。 有人可以帮我转换此嵌套循环,以便不使用任何foreach循环吗? 谢谢。
var filters = [];
if (selectionTagFilters.length > 0) {
for (var i = 0; i < selectionTagFilters.length; i++) {
filterTree.forEach(function find(tag) {
if (tag.tagCategoryId == selectionTagFilters[i].tag.tagCategoryId) {
tag.tags.forEach(function find(tag) {
if (tag.tagId == selectionTagFilters[i].tag.tagId) {
filters.push({ tagHeader: tag.tagHeader, tagId: tag.tagId, tagCategoryId: tag.tagCategoryId });
}
});
}
});
}
}
var filters = [],
selectionTagFilterItem = null,
filterTreeItem = null,
tagItem = null;
for(var i = 0, ii = selectionTagFilters.length; i < ii; i++) {
selectionTagFilterItem = selectionTagFilters[i];
for(var fti, ftii = filterTree.length; fti < ftii; fti++) {
filterTreeItem = filterTree[fti];
if (filterTreeItem.tagCategoryId != selectionTagFilterItem.tag.tagCategoryId) continue;
for(var ti = 0, tii = filterTreeItem.tags.length; ti < tii; ti++) {
tagItem = filterTreeItem.tags[ti];
if (tagItem.tagId != selectionTagFilterItem.tag.tagId) continue;
filters.push({ tagHeader: tagItem.tagHeader, tagId: tagItem.tagId, tagCategoryId: tagItem.tagCategoryId });
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.