Javascript 将for循环条件指定给变量
在Javascript的Javascript 将for循环条件指定给变量,javascript,Javascript,在Javascript的for循环中,有没有办法将变量指定为条件运算符 例如,将此作为循环: for(var i = 0, j = 5; i < 10; i++, j++) { console.log(i + ", " + j); } for(变量i=0,j=5;i
for
循环中,有没有办法将变量指定为条件运算符
例如,将此作为
循环:
for(var i = 0, j = 5; i < 10; i++, j++) {
console.log(i + ", " + j);
}
for(变量i=0,j=5;i<10;i++,j++){
控制台日志(i+“,”+j);
}
我希望能够将
I<10
部分设置为变量。我可能希望for循环一直运行到j<8
,而不是I<10
。我目前的做法是使用一个if
语句,然后使用两个不同的for
循环,除了条件外,循环的代码完全相同,我只是想知道是否有一种更有效的方法。谢谢 当然,你有没有试着把变量粘在里面:
var total = true==true ? 8 : 10,
i = 0,
j = 5,
what = true==false ? i : j;
for(; what < total; i++, j++) {
console.log(i + ", " + j);
}
var total=true==true?8 : 10,
i=0,
j=5,
什么=真=假?i:j;
对于(;what
您可以用变量替换10
。您不能替换运算符(我想您可以为此创建一个随机函数
function countdown = (function(){
var i =0, j = 5;
return function(){
++i; ++j;
return i < 10; // or j < 8
}
})();
while(countdown()) {
console.log('counting');
}
函数倒计时=(函数(){
变量i=0,j=5;
返回函数(){
++i、 ++j;
返回i<10;//或j<8
}
})();
while(倒计时()){
console.log('counting');
}
唯一的问题是,您无法在循环范围内访问i
和j
。使用for循环中的函数,并将其重新分配给您想要的任何对象
var predicate = function(i, j) { return i < 10; }
for(var i = 0, j = 5; predicate(i, j); i++, j++) {
console.log(i + ", " + j);
if (i === 5) { // Dummy condition
predicate = function(i, j) { return j < 8; };
}
}
var谓词=函数(i,j){返回i<10;}
for(变量i=0,j=5;谓词(i,j);i++,j++){
控制台日志(i+“,”+j);
如果(i==5){//伪条件
谓词=函数(i,j){返回j<8;};
}
}
优点是,如果需要,您可以完全更改逻辑。我认为您需要一个前导的;
:(;what
。
var predicate = function(i, j) { return i < 10; }
for(var i = 0, j = 5; predicate(i, j); i++, j++) {
console.log(i + ", " + j);
if (i === 5) { // Dummy condition
predicate = function(i, j) { return j < 8; };
}
}