0

我想在javascript中给出一个数组和一个数字变量来从数字创建新数组,然后将“大”数组的每个成员推送到子数组。数组中的第一个值进入第一个子阵列,第二个进入第二个子阵列,第三到第三个等。这是我如何使用 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 可以帮助?谢谢。

4

1 回答 1

1

这是用于拆分 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);
}
于 2012-10-13T15:00:06.437 回答