繁体   English   中英

将每个值从一个数组推送到多个子数组

[英]Pushing every value from an Array to multiple sub-arrays

我想在javascript和数字变量中给定一个数组,以便从该数字创建新数组,然后将“大”数组的每个成员推送到子数组。 来自数组的第一个值进入第一个子数组,第二个进入第二个子数组,第3到第3等等,这是我如何使用2个数组的方法:

r1=new Array();  
r2=new Array(); 

for(var i=0; i<array.length; i++){
  if(i%2 == 0){
    r1.push(array[i]);
  } 
  else
  {
    r2.push(array[i]);
  }
}

假设我们有一个数字变量,意味着它是子数组,那么我们将不得不做

for(var j=0;j<number;j++){
  r[j]=[];
}

最好的解决方案是什么?也许array.map可以帮助您?

这是在N个阵列之间分割的通用解决方案。 它返回结果数组的一个数组。

function splitArray(src, num) {
    var result = [], i;
    // initalize output arrays
    for (i = 0; i < num; i++) {
        result.push([]);
    }
    // split results among the various output arrays
    for (i = 0; i < src.length; i++) {
        result[i % num].push(src[i]);
    }
    return(result);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM