前言
最近,在写着小程序,对数据操作比较频繁,后端返回的数据对于我构建一个 swiper 不是那么的理想,所以自己就写了一个方法,用于构建一个二维数组来构建单个 swiper-item 多图的轮播
function getMatrix(arr, 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; }
function chunk(arr, subArrayNum) { var result = []; for (var i = 0; i < arr.length; i += subArrayNum) { result.push(arr.slice(i, i + subArrayNum)); } return result; }
|
测试我们写的方法:
var arr = [1, 2, 3, 4, 5, 6]; getMatrix(arr, 2); chunk(arr, 2);
|