zoukankan      html  css  js  c++  java
  • js将一维数组转化为二维数组

    遇到的问题:

      后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回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;
    }
  • 相关阅读:
    简单伪类
    购物网页css
    「WC2020T2」猜数
    ARC 103
    Codeforces 1198F
    ZJOI2019二试游记
    ZJOI2019一试游记
    「WC2015」未来程序
    「CodeForces Round #545 Div2」划水记
    「CF1116」Microsoft Q# Coding Contest
  • 原文地址:https://www.cnblogs.com/huangtao5921/p/10502480.html
Copyright © 2011-2022 走看看