【问题标题】:jquery array into organized (by original array index) chunksjquery 数组分成有组织的(按原始数组索引)块
【发布时间】:2015-05-17 08:00:54
【问题描述】:

好的,这就是我们的想法。

1.我得到一个包含 12 个数字的数组(a=[1,2,3,4,5,6,7,8,9,10,11,12]

2.我想把它分成4块所以我这样做了......

a=[1,2,3,4,5,6,7,8,9,10,11,12];
var b = [];
while(a.length) {
    b.push(a.splice(0,3));
}

这给了我一个包含 4 个元素的数组,每个元素内有 3 个值

即[1,2,3,4] = [ 1 2 3 , 4 5 6 , 7 8 9 , 10 11 12 ]

3.现在我的问题是我希望它的组织方式是第一个值进入第一个元素,第二个进入第二个,第三个进入第三个,第四个进入第四个,然后重复这个过程,直到我得到这样的东西:

即[1,2,3,4] = [ 1 5 9 , 2 6 10 , 3 7 11 , 4 8 12 ]

【问题讨论】:

  • 从目前的问题来看,您似乎有能力自己做到这一点。
  • @AndrewShepherd 是的,我想我可以手动完成,但我需要它是自动的,因为我有一个函数可以在每次事件发生时添加另外 12 个值

标签: javascript jquery arrays splice chunking


【解决方案1】:

应该这样做;

var a = [1,2,3,4,5,6,7,8,9,10,11,12];
var chunksize = 3;
var numOfChunks = Math.ceil(a.length/ chunksize);
var b = new Array(numOfChunks);
for(var i=0; i<a.length; i++) {
  var pos = i%numOfChunks;
  if(!b[pos]) b[pos] = [];
  b[pos].push(a[i]);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    相关资源
    最近更新 更多