资讯专栏INFORMATION COLUMN

JS一维数组与二维数组互相转换的方法

yuanxin / 3340人阅读

摘要:一维数组转化为二维数组假设每行显示个方法返回一个从开始到结束不包括结束选择的数组的一部分浅拷贝到一个新数组对象。且原始数组不会被修改。结果二维数组转化为一维数组结果

一维数组转化为二维数组
  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]

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108249.html

相关文章

  • C语言第三期(1万字函数-数组-操作符详解)

    摘要:形式参数当函数调用完成之后就自动销毁了。函数调用传值调用函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。函数的声明一般出现在函数的使用之前。它其实就数组访问的操作符。 ...

    Jeff 评论0 收藏0
  • 《C陷阱缺陷》第三章

    摘要:而对于二维数组,因为内存连续性的原因,内存并不会真真的开辟一个二维空间,而是连续依次存入二维数组的每个数据。之所以有二维数组的说法是为了分析问题方便。二维数组的实质是一维数组,只是其元素类型是一维数组类型。 ...

    tyheist 评论0 收藏0
  • C语言 指针+二维数组详解 (应付期末、考研最强笔记,建议收藏)

    摘要:需要注意的是用矩阵形式如行列表示二维数组,是逻辑上的概念,能形象地表示出行列关系。再次强调二维数组名如是指向行的。一维数组名如是指向列元素的。 哈喽!这里是一只派大鑫,不是派大星。本着基础不牢,地动山摇的学习态度,从基础的C语言语法讲到算法再到更高级的语法及框架的学习。更好地让同样热爱编...

    FrozenMap 评论0 收藏0
  • 萌新图像处理(二)

    摘要:书接上回,我们只是初步理解了图形处理。图形图像的本质图片,在编译器里面,其实就是二维数组的形式。接着我们根据图片对象进行初始化二维数组,然后根据图片对象进行初始化二维数组。欲知后事如何,且看萌新图像处理三。 ...

    Mr_zhang 评论0 收藏0
  • 《十万字Java入门练习100例》1-10例——纸上得来终觉浅,绝知此事要躬行

    摘要:代码实现在控制台打印总结本篇文章带大家搭好环境,并体验了控制台打印。输出结果总结熟练掌握取余和整除运算,大有作用。终止本次循环,继续执行下一次循环。 ?本文收录...

    keithyau 评论0 收藏0

发表评论

0条评论

yuanxin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<