从嵌套循环 Javascript 中的一个循环访问参数
Accessing parameters from one loop in nested loop Javascript
我有3个循环
$.each(results.doc, function(index, element){
for(var i=0; i < self.options.maxMatches; i++){
var RealCategory = this.data[0]['realcategories'][i];
var realcategoryName = RealCategory.name;
for(var j = 0; j< RealCategory.tournaments.length; j++){
var tournamentName = RealCategory.tournaments[j].name
self.append('<li>' + realcategoryName+' / '+i+' - '+tournamentName+' / '+j+' </li>');
}
};
});
在self.options.maxMatches
我决定在HTML中显示多少结果。比方说self.options.maxMatches=10
.RealCategory.tournaments.length>0
时出现问题。比我从第三和第二循环中得到结果。如果第三个循环给我 2 个结果,我会得到我的 HTML 10 + 2 个结果,但我不想的只是 10 个结果。
如果您最多想要 maxMatches
个 <li>
(或 tournaments
个),则需要保留一个独立于任一索引器的计数器,并基于此退出循环。
var limit = self.options.maxMatches;
$.each(results.doc, function () {
// ...
for (var i = 0; i < categories.length; i++) {
// ...
for (var j = 0; j < RealCategory.tournaments.length; j++) {
// ...
limit--;
if (limit <= 0) {
// exit iterator `function`, interrupting both `for` loops
// `false` to instruct jQuery to not continue looping
return false;
}
}
}
});
maxMatches
目前只限制realcategories
的数量。但是,每个都有未知数量的tournaments
(可能是0
,可能是5
等)。
2 种可能的情况:
i | 0 | 1 | 2 | 3 | 4 | (e.g. maxMatches = 5)
tournaments (A) | 3 | 0 | 1 | 2 | 1 | (total = 7)
tournaments (B) | 0 | 1 | 1 | 0 | 0 | (total = 2)
试试这个,这是一个快速解决方案。我在内部循环中增加了你的变量"i"(尽管这段代码可以用更好的方式编写)
$.each(results.doc, function(index, element){
for(var i=0; i < self.options.maxMatches; ){
var RealCategory = this.data[0]['realcategories'][i];
var realcategoryName = RealCategory.name;
for(var j = 0; j< RealCategory.tournaments.length; j++){
i++;
var tournamentName = RealCategory.tournaments[j].name
self.append('<li>' + realcategoryName+' / '+i+' - '+tournamentName+' / '+j+' </li>');
}
};
});
相关文章:
- 创建一个循环来简化HTML和CSS代码
- 如何使用“;getElementById”;在一个循环中
- jQuery触发器事件在一个循环中多次出现
- js:如何制作一个循环,将20个不同的东西添加到一个对象中
- 每第n个图像具有下一个循环的余数偏移
- CasperJS-如何治疗'单击'在一个循环中
- 我怎样才能把它变成一个循环,而不是一个递归函数
- 在一个循环中读取xml文件的所有节点
- ajax 返回带有循环的图像长度,检查最后一个循环
- JQuery Slider动画只发生一个循环
- JQuery 滑动一个表格形成,另一个循环滑动
- 如何跟踪有序列表中的顺序,该列表具有一个循环列表项,提供不同的参数
- Node.js:如何在一个循环中使用回调调用方法
- 我将如何批量添加大量 jquery 脚本,在一个循环中只有一个细微的差异
- 循环遍历 Angular HTTP 请求中的对象,等到响应后再运行下一个循环
- 从嵌套循环 Javascript 中的一个循环访问参数
- jQuery点击函数在for循环中只在最后一个循环中工作
- 我可以为 4 个不同的下拉列表创建一个循环吗?
- 翡翠模板在一个循环中有多个数组
- 仅使用一个循环生成嵌套数组