js将一维数组转化为二维数组、二维数组转化为一维数组效果demo(整理)

简介: js将一维数组转化为二维数组、二维数组转化为一维数组效果demo(整理)

效果图:一维数组转成二维数组

效果图:二维数组转成一维数组

<!DOCTYPE html>
<html lang="zh">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>js将一维数组转化为二维数组、二维数组转化为一维数组</title>
  </head>
  <body>
  </body>
  <script>
    // 调用
    // let list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    let list = [{
        id: '1',
        name: '一',
      },
      {
        id: '2',
        name: '二',
      },
      {
        id: '3',
        name: '三',
      },
      {
        id: '4',
        name: '四',
      },
      {
        id: '5',
        name: '五',
      },
      {
        id: '6',
        name: '六',
      },
      {
        id: '7',
        name: '七',
      },
      {
        id: '8',
        name: '八',
      },
      {
        id: '9',
        name: '九',
      },
      {
        id: '10',
        name: '十',
      },
      {
        id: '11',
        name: '十一',
      },
      {
        id: '12',
        name: '十二',
      },
    ]
    console.log(list, '全部数据')
    joinWayArray(list);
    // 转化函数
    function joinWayArray(list) {
      const listResult = []; // 最终返回的二维数组
      for (let i = 0; i < Math.ceil((list.length / 10)); i++) {
        listResult[i] = [];
        for (let j = 0; j < 10; j++) {
          // 如果是最后一个板块
          if (i === (Math.ceil((list.length / 10)) - 1)) {
            if (Math.ceil((list.length % 10)) !== 0) {
              // 只有最后一个板块的数据在余数以内的才赋值
              if (j < Math.ceil((list.length % 10))) {
                listResult[i][j] = list[i * 10 + j];
              }
            } else {
              // 如果刚好整整一个板块,则全部附上值
              listResult[i][j] = list[i * 10 + j];
            }
          } else {
            listResult[i][j] = list[i * 10 + j];
          }
        }
      }
      console.log(listResult, '转化十个为一组后的数据')
      return listResult;
    }
    //二维数组转一维数组
    // let arr = [
    //  ['一', '二'],
    //  ['三', '四'],
    //  ['五', '六']
    // ];
    let arr = [
      [
        {
          id: 1,
          name: '一',
        },
        {
          id: 2,
          name: '二',
        },
      ],
      [
        {
          id: 3,
          name: '三',
        },
        {
          id: 4,
          name: '四',
        },
      ],
      [
        {
          id: 5,
          name: '五',
        },
        {
          id: 6,
          name: '六',
        },
      ],
    ];
    console.log('二维数组:', arr);
    let newarr = [];
    for (const item of arr) {
      newarr = [...newarr, ...item];
    }
    console.log('一维数组:', newarr);
  </script>
</html>
相关文章
|
20天前
|
JavaScript
js 解析 byte数组 成字符串
js 解析 byte数组 成字符串
|
3天前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
14天前
|
JavaScript 前端开发
js删除数组最后一个元素
js删除数组最后一个元素
|
8天前
|
JavaScript 前端开发
JS配合CSS3实现动画和拖动小星星小Demo
本文通过代码示例展示了如何使用JavaScript和CSS3实现动画效果和拖动小星星的交互效果,包括文字掉落动画和鼠标拖动产生小星星动画的实现方法。
20 0
JS配合CSS3实现动画和拖动小星星小Demo
|
13天前
|
JavaScript 前端开发 索引
|
19天前
|
JavaScript
js 循环数组取值
js 循环数组取值
|
3天前
|
JavaScript 前端开发 C++
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
|
3天前
|
JavaScript 前端开发
JavaScript从二维数组抽取元素组成新数组的三种方法
JavaScript从二维数组抽取元素组成新数组的三种方法
|
25天前
|
存储 JavaScript 前端开发
JS中的数组有哪些常用操作函数和属性
【9月更文挑战第7天】JS中的数组有哪些常用操作函数和属性
11 1
|
5天前
|
JavaScript 前端开发
JavaScript 中 五种迭代数组的方法 every some map filter forEach
本文介绍了JavaScript中五种常用数组迭代方法:every、some、filter、map和forEach,并通过示例代码展示了它们的基本用法和区别。