循环Java脚本的多变量

时间:2015-12-03 07:16:42

标签: javascript

有没有办法,下面的代码工作正常.. 我希望'i'在达到限制时停止..不使用if条件

var a1 = [1, 2, 3, 4, 5, 6];
var a2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for (var i = 0, j = 0; i < a1.length, j < a2.length; i++, j++) {
  console.log('a1: ' + '[' + i + ']' + a1[i]);
  console.log('a2: ' + a2[j]);
}

2 个答案:

答案 0 :(得分:1)

循环的第二个参数应该是布尔条件。

这一个

i < a1.length, j < a2.length

实际上是以这样的方式解释的,它只返回i < a1.length的结果。

由于您希望在两个条件为真时执行循环,请使用逻辑AND运算符组合这些条件:

&#13;
&#13;
var a1 = [1, 2, 3, 4, 5, 6];
var a2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for (var i = 0, j = 0; i < a1.length && j < a2.length; i++, j++) {
  console.log('a1: ' + '[' + i + ']' + a1[i]);
  console.log('a2: ' + a2[j]);
}
&#13;
&#13;
&#13;

顺便说一下,ij实际上是相互重复的。您可以使用单循环计数器:

&#13;
&#13;
var a1 = [1, 2, 3, 4, 5, 6];
var a2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for (var i = 0; i < a1.length && i < a2.length; i++) {
  console.log('a1: ' + '[' + i + ']' + a1[i]);
  console.log('a2: ' + a2[i]);
}
&#13;
&#13;
&#13;

甚至

&#13;
&#13;
var a1 = [1, 2, 3, 4, 5, 6];
var a2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

var minLength = Math.min(a1.length, a2.length);

for (var i = 0; i < minLength; i++) {
  console.log('a1: ' + '[' + i + ']' + a1[i]);
  console.log('a2: ' + a2[i]);
}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

不需要条件

&#13;
&#13;
var a1 = [1, 2, 3, 4, 5, 6];
var a2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for (var i = 0, j = 0; i < a1.length, j < a2.length, a1[i]; i++, j++) {
  console.log('a1: ' + '[' + i + ']' + a1[i]);
  console.log('a2: ' + a2[j]);
}
&#13;
&#13;
&#13;