/*
* 一维数组拆分重组为指定个数二维数组
* arr 原数组
* len 拆分成len个数组
*/
function split_array(arr,len){
let a_len = arr.length;
let a = Math.floor(a_len/len);
let result = [];
if(a_len<= len){
// 若原数组length <= len 则直接返回为新数组
result = arr;
}else{
// 若数组length > len
for(let i=0;i<a_len;i+=a){
result.push(arr.slice(i,i+a))
}
}
result.forEach((m,n)=>{
if(n>=len){
// 超出规定len的自动追加到arr[len-1]
m.forEach((x,y)=>{
result[len-1].push(x);
})
}
})
result.splice(len,a_len-len); //删除len后的多余数组
return result;
}
console.log(split_array([1,2,3,4,5,6],2));
// [[1,2,3],[4,5,6]]
console.log(split_array([1,2,3,4,5],2));
// [[1,2],[3,4,5]]
console.log(split_array([1,2,3,4,5,6,7],2));
// [[1,2,3],[4,5,6,7]]
一维数组拆分重组为指定个数二维数组
最新推荐文章于 2023-08-03 09:27:41 发布