根据传入的size把第一个参数分割成包含size个数组的二维数组。
思路记录:先用Math.cail把数组按照第二个参数的要求拆分开,然后用splice把数组依次分割出来并push到新数组里返回就可以了。
function chunk(arr, size) {

        var arr1 = [];
        var arr2 = [];
        var arrl = Math.ceil(arr.length / size); //第一个参数除以第二个参数并向上舍入,向上舍入是为了存多余的数组,比如7/3=2,但是还需要一个来存余出来的1
        for (var i = 0; i < arrl; i++) {
            arr2 = arr.splice(0, size); //arr2用来暂时存放每一次分割出来的数组,0是起始位置,size是个数
            arr1.push(arr2);
            //console.log("\n" + "arr2:" + i + arr2);
        }
        //console.log("\n" + "arr1:" + arr1);
        return arr1;
    }
    chunk(["a", "b", "c", "d"], 2);

Vantown
1 声望0 粉丝