JS一维数组与二维数组相互转换的要领

一维数组转化为二维数组

  let baseArray = [1, 2, 3, 4, 5, 6, 7, 8];
  let len = baseArray.length;
  let n = 4; //假定每行显现4个
  let lineNum = len % n === 0 ? len / n : Math.floor( (len / n) + 1 );
  let res = [];
  for (let i = 0; i < lineNum; i++) {
    // slice() 要领返回一个从最先到完毕(不包括完毕)挑选的数组的一部分浅拷贝到一个新数组对象。且原始数组不会被修正。
    let temp = baseArray.slice(i*n, i*n+n);
    res.push(temp);
  }
  console.log(res);

效果:

[[1, 2, 3, 4],[5, 6, 7, 8]]

二维数组转化为一维数组

const arr=[[1,2,3],[3,4],[5]];
console.log([].concat.apply([],arr));

效果:

[1, 2, 3, 3, 4, 5]
    原文作者:villelee
    原文地址: https://segmentfault.com/a/1190000016038640
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞