一维数组构建成指定个数的二维数组

最近,在写着小程序,对数据操作比较频繁,后端返回的数据对于我构建一个swiper不是那么的理想,所以自己就写了一个方法,用于构建一个二维数组来构建单个swiper-item多图的轮播

**********************************我是华丽的分割线**********

*******************************************

/**
 * 一维数组生成以subArrayNum的二维数组
 * @param {Array} arr 
 * @param {Number} subArrayNum 
 */
function getMatrix(arr, subArrayNum) {
    // 定义一个数组,长度为原数组的总长度除以subArrayNum向上取整
    var res = new Array(Math.ceil(arr.length / subArrayNum));
    // 遍历该数组
    for (let i = 0; i < res.length; i++) {
        // 令数组每一个值都为空数组,即生成二维数组
        res[i] = new Array();
        // 为二维数组数据设置为空字符串
        for (let j = 0; j < i % subArrayNum; j++) {
            res[i][j] = '';
        }
    }
    // 给二维数组添加数据
    for (let i = 0; i < arr.length; i++) {
        res[parseInt(i / subArrayNum)][i % subArrayNum] = arr[i];
    }
    return res;
}
测试我们写的方法:

var arr = [1, 2, 3, 4, 5, 6];
getMatrix(arr, 2);// [[1,2],[3,4],[5,6]]



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值