一维数组分解成二维数组 groupData

155 阅读1分钟
// 一维数组分解成二维数组
  function groupData(arr, column = 4) {
    let result = [];
    for (let i = 0; i < arr.length; i += 1) {
      let index = Math.floor(i / column);
      if (!result[index]) {
        result[index] = [];
      }
      result[index].push(arr[i]);
    }
    return result;
  }

  function generateData(len) {
    var arr = [];
    for (let i = 0; i < len; i += 1) {
      arr.push("data" + (i + 1));
    }
    return arr;
  }

  for (let i = 0; i < 30; i += 1) {
    let arr = generateData(i);

    let data = groupData(arr, 3);
    console.log(JSON.stringify(data, null, 4), i);
  }