(1)将一个一维数组分割指定几维数组
//num:几维; arr:原数组
spliceTwoArr(num, arr) {
let newArr = [];
const total = Math.ceil(arr.length / num);
for (let i = 0; i < total; i++) {
let spliceArr = arr.slice(i * num, (i + 1) * num);
newArr.push(spliceArr);
}
return newArr;
}
//原数组
const arr = [{id:1,name: '小红'}, {id:2, name: '小黄'}, {id:3,name: '小叶'}, {id:4,name: '小绿'}]
spliceTwoArr(arr, 2)
//分割二维数组
const newArr = [
[{id:1,name: '小红'}, {id:2, name: '小黄'}],
[{id:3,name: '小叶'}, {id:4,name: '小绿'}]
]
(2)将数组按指定个数分割数组
sliceNewArr (arr, size) {
if (!arr.length || !size || size < 1) return []
let start
let end
let result = []
for(let i = 0; i < Math.ceil(arr.length / size); i++) {
start = i * size
end = start + size
result.push({
name: `${start+1}~${end}`,
list: arr.slice(start, end)
})
}
return result
}
//原数组
let arr = [1,2,3,4,5,6,7,8,9,10,11,12]
sliceNewArr(arr, 4)
//分割数组
let newArr = [
{name: 1~4, list: [1,2,3,4},
{name: 5~8, list: [5,6,7,8]},
{name: 9~12, list: [9,10,11,12]}
]