数组分块函数封装

90 阅读1分钟
function flatten2(arr,size=1){
    if(arr.length === 0){
        return []
    }
    // 声明两个变量
    let result = []
    let tmp = []
    arr.forEach(item =>{
        if(tmp.length === 0){
            result.push(tmp)
        }
        tmp.push(item)
        if(tmp.length === size){
            tmp = []
        }
    })
    return result
}

/*
    tmp=[] result=[[]] tmp=[1] result=[[1]]
    tmp=[1,2] result=[[1,2]]  tmp=[]
    result=[[1,2],[]]  tmp=[3]  result=[[1,2],[3]]
    tmp=[3,4]  result=[[1,2],[3,4]] tmp = []
    ....
*/
    let arr = [1,2,3,4,5,6]
    let result = flatten2(arr,2)
    console.log(result) //[[1,2],[3,4],[5,6]]