遇到的问题:后端
后端返回的是一组一维数组,可是须要展现的格式是二维数组,常见的场景举例:后台返回10个长度的数组,须要分红3个一组展现在banner上。数组
例:[1,2,3,4,5,6,7,8,9,10] => [[1,2,3], [4,5,6], [7,8,9], [10]]函数
解决方法及思路:spa
// 调用 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; }