javascript - 多变量 for 循环 Javascript

标签 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]);
}

最佳答案

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

这个

i < a1.length, j < a2.length

实际上被解释为返回 i < a1.length 的结果仅。

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

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]);
}

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

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]);
}

甚至

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]);
}

关于javascript - 多变量 for 循环 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34059919/

相关文章:

javascript - 为什么已经创建的元素会继承新元素的样式(在 Angular 中的 ngFor 上)?

javascript - 在动态生成数据的情况下,与星级评级 jQuery 插件中的下拉列表相对应的星星不会显示

javascript - 在 React 组件上监听 'invalid' 事件

javascript - 如何在javascript中正确转换html?

javascript - 我应该如何在 javascript 模块中使用 'this' (self) ?

javascript - 我有一个 Bootstrap 模式问题 - 页面加载一半

javascript - 如何将 PayU money 与 Cordova 应用程序(混合应用程序)集成

javascript - Yii - 如何打开 Jquery 对话框小部件并提交表单

javascript document.getelement 不工作

javascript - Chrome 扩展程序 : move downloaded file to input field