使用场景:(由数组a 得到 数组b)
数组 a:[30,20,30,50,50,40,30]
数组 b:[[30,20,30],[50,50],[40,30]]
mounted(){
let a = [30,20,30,50,50,40,30] //原数组
let b = [] //新书组容器
let max = 100 //期望最大加合100为一组
let newArr = this.getArr(a,max,b) //新数组
}
methods:{
// 分组方法:三个参数分别是 原数组,最大值,新数组
getArr(arr, max, list) {
let n = 0
if (arr.length > 0) {
arr.map((item, index) => {
if (item + n <= max) {
if (index == arr.length - 1) {
list.push(arr)
}
n = item + n
} else {
list.push(arr.splice(0, index))
this.getArr(arr, max, list)
}
})
}
return list
},
}