使用场景
轮播数据,每个轮播item又有多条数据,就要用到二维数组,但是给我们的却是一维数组,那就要转化成二维数组了。
代码:
for循环
//array: 传入数组,size:每个小数据的长度
splitGroup(array, size) {
let newArray = []
for (let i = 0; i < Math.ceil(array.length / size); i++) {
let start = i * size
let end = start + size
newArray.push(array.slice(start, end))
}
return newArray
},
let newList = splitGroup([1,2,3,4,5],3) // 得到:[[1,2,3],[4,5]]
递归
//array: 传入数组,size:每个小数据的长度
splitGroup(array, size) {
let result = []
let group = (arr) => {
let list = arr.slice(0, size)
let rest = arr.slice(size, arr.length)
result.push(list)
if (arr.length <= size) {
return result
} else {
return group(rest)
}
}
return group(array)
}