【问题标题】:Simple nested for loop in node, need advice节点中的简单嵌套for循环,需要建议
【发布时间】:2016-02-16 11:53:07
【问题描述】:

我有这个简单的代码段,用于制作例如 10x10 的网格。我最近切换到 node 并且有点困惑如何让这段代码正确运行,因为我目前正在从同步的角度思考。

目前我所有的 Y 值都直接分配给 10,而没有像我预期的那样为每个 X 值分配 1、2、3、4、5。

function createHouse(size){

    var tempGridItem;
    var xpos = 0;
    var ypos = 0;
    randnum = Math.random();

    gridItemArr = [[]];

    for (var count = 0; count < size; count++) {

        tempGridItem = new gridItem();

        xpos++;
        ypos = 0;

        for (var count2 = 0; count2 < size; count2++) {

            // X = 0, Y = 0,1,2,3,4,5...
            // X = 1, Y = 0,1,2,3,4,...
            // And so on

            ypos++;

            tempGridItem.xpos = xpos;
            tempGridItem.ypos = ypos;

            gridItemArr.push(tempGridItem);

        }
    }

    console.log("GRID ITEM ARRYA LENGTH: "+ gridItemArr.length);

}

我将如何对其进行编码以使其按预期运行,是否有任何图书馆建议/材料可供阅读以了解有关这些东西如何工作的更多信息。

谢谢!

当前输出大小为 10:

YPOS: 9 , XPOS1
YPOS: 9 , XPOS1
YPOS: 9 , XPOS1
YPOS: 9 , XPOS1
YPOS: 9 , XPOS1
YPOS: 9 , XPOS1
YPOS: 9 , XPOS1
YPOS: 9 , XPOS1
YPOS: 9 , XPOS1
YPOS: 9 , XPOS1
YPOS: 9 , XPOS2
YPOS: 9 , XPOS2
YPOS: 9 , XPOS2
YPOS: 9 , XPOS2
YPOS: 9 , XPOS2
YPOS: 9 , XPOS2
YPOS: 9 , XPOS2
YPOS: 9 , XPOS2
YPOS: 9 , XPOS2
YPOS: 9 , XPOS2
YPOS: 9 , XPOS3
YPOS: 9 , XPOS3
YPOS: 9 , XPOS3
YPOS: 9 , XPOS3

等等。

【问题讨论】:

  • 究竟使用回调做什么?
  • Node 中的 JavaScript 与客户端中的 JavaScript 一样同步。原生的东西,比如 for 循环等。它的 Node API(比如fs)和其他可能有异步行为的库 API。它只是 JavaScript,核心内容的行为相同。
  • 你在哪里声明了 tempGridItemgridItemArrsize 变量?
  • 感谢您的澄清,我只是很困惑我的逻辑似乎是正确的,但我的 Y 位置从未从 9 移动,这是为什么呢?
  • @Raf 我已经用我得到的结果更新了我原来的问题,tempGridItem 只是一个存储 x、y 位置和其他一些东西的对象

标签: javascript node.js for-loop


【解决方案1】:

看这里,http://jsfiddle.net/TRR4n/ 节点只是 JS

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

【讨论】:

  • 或者更简单的 for (var i in array){ for(var j in array[i]){//do stuff here} }
猜你喜欢
  • 2016-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-15
相关资源
最近更新 更多