es6-分割数组的方法

把一个数组按照特定长度分割成新的数组

  • 首先,熟悉一下 js中数组分割是方法:
    slice()方法
var arr=[1,2,2,3,4,5,5,6,6,7,1];
arr.slice(0,3); // [1, 2, 2]
arr.slice(0,6); // [1, 2, 2, 3, 4, 5]

slice(index,length);
slice()方法有两个入参,index:即要分割的初始位置的索引,必填;length:要分割部分的长度,选填,如果不填,将默认是从初始位置到数组结束。

  • 利用slice()来平均分割一个数组,并将分割后的数组组合成一个新的数组,具体方法如下:
var arr=[1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5]; // 定义一个数组
/** 定义一个函数 **/
getNewArray=(arr, size)=>{  // size=5,要分割的长度
const arrNum = Math.ceil(arr.length/size, 10); // Math.ceil()向上取整的方法,用来计算拆分后数组的长度
        let index = 0; // 定义初始索引
        let resIndex = 0; // 用来保存每次拆分的长度
        const result = [];
        while(index< arrNum){
            result[index]= arr.slice(resIndex,size+resIndex);
            resIndex += size;
            index++;
        }
        return result;
}
/* result = 
0: (5) [1, 1, 1, 1, 1]
1: (5) [2, 2, 2, 2, 2]
2: (5) [3, 3, 3, 3, 3]
3: (5) [4, 4, 4, 4, 4]
4: (4) [5, 5, 5, 5] 
*/
  • 总结: result被拆分成了一个新的数组,且每个元素都是一个数组
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容