首页 > 编程语言 > 详细

js将一维数组转化为二维数组

时间:2019-03-09 19:26:38      阅读:478      评论:0      收藏:0      [点我收藏+]

遇到的问题:

  后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上。

  例:[1,2,3,4,5,6,7,8,9,10]  =>  [[1,2,3], [4,5,6], [7,8,9], [10]]

解决方法及思路:

// 调用
let list = [1,2,3,4,5,6,7,8,9,10]
setTwoDimensionalArray(list);

// 转化函数
function setTwoDimensionalArray (list) {
  const listResult = [];  // 最终返回的二维数组
  for (let i = 0; i < Math.ceil((list.length / 3)); i++) {
    listResult[i] = [];
    for (let j = 0; j < 3; j++) {
      // 如果是最后一个板块
      if (i === (Math.ceil((list.length / 3)) - 1)) {
        if (Math.ceil((list.length % 3)) !== 0) {
          // 只有最后一个板块的数据在余数以内的才赋值
          if (j < Math.ceil((list.length % 3))) {
            listResult[i][j] = list[i * 3 + j];
          }
        } else {
          // 如果刚好整整一个板块,则全部附上值
          listResult[i][j] = list[i * 3 + j];
        }
      } else {
        listResult[i][j] = list[i * 3 + j];
      }
    }
  }
  return listResult;
}

 

js将一维数组转化为二维数组

原文:https://www.cnblogs.com/huangtao5921/p/10502480.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!