繁体   English   中英

Javascript-如何将这个foreach循环转换为常规的for循环?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM