JavaScript的;嵌套for循环不起作用

时间:2017-02-17 16:36:06

标签: javascript html css

A.toarray()

Out:
array([[99,  2,  0],
       [ 0,  0,  3],
       [ 4,  0,  5]], dtype=int32)

我需要一个div的每个子节点的子节点的二维数组,用于多个div。 无法让它发挥作用; c 任何人都知道javascript是否可以实现这一点?

感谢。

编辑:

谢谢你们,它现在有效! :d 我最终这样做了:

var divs = [];
for (var x = 0; x <= nodeArray.length; x++) {
    for (var q = 0; q <= nodeArray.childElementCount; q++) {
        divs[x][q] = nodeArray[x].childNodes[q].childNodes[0]  
    };
};

使用您的反馈,它现在有效!真的非常感谢! ; d

2 个答案:

答案 0 :(得分:0)

var divs = [];
for (var x = 0; x <= nodeArray.length; x++) {
    divs[x] = [];

    for (var q = 0; q <= nodeArray[x].length; q++) {
        divs[x][q] = nodeArray[x][q][0];
    };
};

答案 1 :(得分:0)

  1. 数组是0索引的,这意味着数组的最后一个元素不是array.length而是array.length - 1
  2. 您必须创建一个新数组(子数组),然后开始向其中添加元素。
  3. 您的代码应该是这样的:

    var divs = [];
    for (var x = 0; x < nodeArray.length; x++) {
    //          here ^^^
        divs[x] = []; // create a new sub-array (or divs.push([]);)
        for (var q = 0; q < nodeArray.childElementCount; q++) {
        //          here ^^^
            divs[x][q] = nodeArray[x].childNodes[q].childNodes[0];
        };
    };