从网格返回每列的数组

时间:2016-09-09 15:41:07

标签: javascript jquery arrays loops indexing

我有这个函数返回我的网格的所有元素但是在列上:

var cols = function(){
    var c = $('.row');
    for (var i = 0; i < c.length; i++) {
      for (var j = 0; j < c.length; j++){
        var x = c[j].children[i];
        console.log(x);
        //if(x != 0 ){return c;}
      }
    }
    }
    cols();

这意味着这个函数将从我的网格中获取每个元素并从上到下循环,然后在第二列之后依次循环。

我想为每一列返回一个数组,我在第一行上也有一些名为header的类,其他的ethos将在头类n元素之间进行计数并返回一个数组,但我不知道如何做到这一点: |

fiddle:

1 个答案:

答案 0 :(得分:5)

将所有对象从内部for循环推入一个在外部for循环中创建的数组:

var cols = function(){
    var c = $('.row');
    for (var i = 0; i < c.length; i++) {
      var tmp_array = [];
      for (var j = 0; j < c.length; j++){
        var x = c[j].children[i];
        tmp_array.push(x);
         //x.css({'background': 'rgba(255, 255, 255, 0.3)'});
        //if(x != 0 ){return c;}
      }
      console.log(tmp_array);
    }
}

更新了小提琴:https://jsfiddle.net/c310st3o/4/