拆分數組
let setChunk = function (Arr, num){
class Chunk {
constructor (list, num) {
this.list = list || []
this.num = num || 2
this.end = []
}
add (val) {
this.end.push(val)
}
run () {
while (this.list.length) {
if (this.list.length >= this.num) {
this.add(this.list.splice(0, this.num))
} else {
this.add(this.list)
this.list = []
}
}
return this.end
}
}
Arr = JSON.stringify(Arr)
Arr = JSON.parse(Arr)
let p1 = new Chunk(Arr, num)
return p1.run()
}
let list = ['a', 'b', 'c', 'd', 'e']
// 不修改原數組 返回新數組
console.log(setChunk(list, 3))
console.log(setChunk(list, 2))
結果