【发布时间】:2017-08-15 17:18:17
【问题描述】:
我有一个仅在定义了指定变量时才应用 onclick 的函数。一旦定义了该变量,它就会遍历一组嵌套数组以生成用户被发送到的 URL。我在 if 语句的逻辑中添加了一个 else 语句,这样如果不满足条件,用户将被发送到一个默认 URL,该 URL 显示“抱歉,未找到任何项目”。但是,由于它是在一个循环中循环通过不匹配的项目以找到匹配的项目,因此它始终在循环找到匹配项之前应用 else 语句。
有没有更好的语法可以使用?
function applyUrl() {
var locSelect = localStorage.getItem("loc");
var positSelect = localStorage.getItem("posit");
var userSelect = locSelect + " - " + positSelect;
if(localStorage.getItem("posit") != null){
for (var i = 0; i < sortedArray.length; i++) {
var stuff = sortedArray[i];
for (var j = 0; j < stuff.length; j++) {
if(stuff[j] === userSelect) {
window.location.href = stuff[1];
}else{
window.location.href = 'default.html';
}
}
}
}
}
【问题讨论】:
-
将条件语句移出第二个循环
标签: javascript for-loop if-statement