在开发过程中经常会用到数组分片,下面介绍一下具体实现思路:
主要用到arr.slice(start , end);
首先确认分片大小size;
然后计算数组arr最多可分成几份运用Math.ceil(arr.length/size)向上取整;
最后利用arr.slice(start , end)生成新的数组;
这样就能实现数组分片,具体代码如下所示
/**
* 数组分片
* @param {数组} arr
* @param {大小} size
*/
function(arr,size){
var d=0;
var resultArr=[];
if(arr.length%size===0){
d=arr.length/size;
}else{
d=Math.ceil(arr.length/size)
}
var last=0;
for(var a=0;a<d;a++){
if(size*a+size>arr.length){
last=arr.length
}else{
last=size*a+size;
}
resultArr.push(arr.slice(size*a,last))
}
return resultArr
}
网友评论