首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多维javascript数组中的For循环

多维javascript数组中的For循环
EN

Stack Overflow用户
提问于 2012-04-05 02:22:11
回答 8查看 216.9K关注 0票数 49

从现在开始,我使用这个循环来迭代数组的元素,即使在数组中放置具有不同属性的对象,它也可以工作得很好。

代码语言:javascript
复制
var cubes[];

for (i in cubes){
     cubes[i].dimension
     cubes[i].position_x
     ecc..
}

现在,让我们假设cubes[]是这样声明的

代码语言:javascript
复制
var cubes[][];

我能用JavaScript做这个吗?我如何才能自动地迭代

代码语言:javascript
复制
cubes[0][0]
cubes[0][1]
cubes[0][2]
cubes[1][0]
cubes[1][1]
cubes[1][2]
cubes[2][0]
ecc...

作为一种解决办法,我可以声明:

代码语言:javascript
复制
var cubes[];
var cubes1[];

并分别处理这两个数组。这是更好的解决办法吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-04-05 02:29:25

你可以这样做:

代码语言:javascript
复制
var cubes = [
 [1, 2, 3],
 [4, 5, 6],    
 [7, 8, 9],
];

for(var i = 0; i < cubes.length; i++) {
    var cube = cubes[i];
    for(var j = 0; j < cube.length; j++) {
        display("cube[" + i + "][" + j + "] = " + cube[j]);
    }
}

工作jsFiddle:

  • http://jsfiddle.net/TRR4n/

上述各项的产出:

代码语言:javascript
复制
cube[0][0] = 1
cube[0][1] = 2
cube[0][2] = 3
cube[1][0] = 4
cube[1][1] = 5
cube[1][2] = 6
cube[2][0] = 7
cube[2][1] = 8
cube[2][2] = 9
票数 76
EN

Stack Overflow用户

发布于 2012-04-05 02:25:40

代码语言:javascript
复制
var cubes = [["string", "string"], ["string", "string"]];

for(var i = 0; i < cubes.length; i++) {
    for(var j = 0; j < cubes[i].length; j++) {
        console.log(cubes[i][j]);
    }
}
票数 23
EN

Stack Overflow用户

发布于 2018-10-28 19:46:49

有点晚了,但是这个解决方案很好,很好。

代码语言:javascript
复制
const arr = [[1,2,3],[4,5,6],[7,8,9,10]]
for (let i of arr) {
  for (let j of i) {
    console.log(j) //Should log numbers from 1 to 10
  }
}

或者在你的情况下:

代码语言:javascript
复制
const arr = [[1,2,3],[4,5,6],[7,8,9]]
for (let [d1, d2, d3] of arr) {
  console.log(`${d1}, ${d2}, ${d3}`) //Should return numbers from 1 to 9
}

注意: for ... of循环在ES6中是标准化的,所以只有在您有ES5 Javascript编译器(如Babel)时才使用它。

另一个注意事项:有选择,但它们有一些微妙的区别和行为,如forEach()for...infor...of和传统for()。这取决于你的情况来决定使用哪一个。(ES6也有.map().filter().find().reduce())

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10021847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档