如何在For循环结束时添加条件?
示例:
if (state) {
for (var i = 0, l = $imageLength; i < l; i++) {
if ($images[i].url === state) {
rGallery.init(i);
break;
}
}
/* Need to add here: if NOT in loop... blah*/
} else {
rGallery.init();
}
旁注,也可以改善逻辑以避免它... if(状态在循环中有匹配)init(i)else init()
答案 0 :(得分:2)
使用布尔变量怎么样:
var hasMatch = false;
if (state){
for (var i = 0, l = $imageLength; i < l; i++){
if ($images[i].url === state){
rGallery.init(i);
hasMatch = true;
break;
}
}
}
if(!hasMatch){
rGallery.init();
}
答案 1 :(得分:1)
您可以使用另一个变量作为标志并在循环后检查它:
var found = false;
if (state){
for (var i = 0, l = $imageLength; i < l; i++){
if ($images[i].url === state){
rGallery.init(i);
found = true;
break;
}
}
}
if (!found){
rGallery.init();
}
答案 2 :(得分:1)
如果在循环中找到结果,您可以设置一个标志:
var found = false;
for (var i = 0, l = $imageLength; i < l; i++){
if ($images[i].url === state){
rGallery.init(i);
fount = true;
break;
}
}
if (!found) {
/* Need to add here: if NOT in loop... blah*/
}