//随便创建一个数组 let data = "abcdefghijklmnopkrstuvw12322999".split(""); //总数组 let productData=[]; //分数组 let falseData = []; //小下标 let index = 0; //如果是数组并且长度大于零 if(Array.isArray(data)&&data.length>0){ //循环原一维数组 for (let i = 0; i < data.length; i++) { //把每个元素存进新的数组 falseData[index] = data[i]; //更新小下标 index++; //当分数组累计够五个的时候 if ((i + 1)%5==0){ //小下标归零 index = 0; //将分数组加入总数组 productData[(i+1) / 5] = falseData; //清空分数组 falseData = []; } else if (i == data.length - 1){//当循环到最后(就是原数组长度除以5有余数时)将剩余的元素也收个尾放到总数组中 productData[Math.floor((i + 1) / 5)+1] = falseData; } } } //删除总数组的第一个元素 productData.shift(); console.log(productData);
以上是复杂的,基本上没有使用自带函数的
下面是简便的方式
let data = "abcdefghijklmnopkrstuvw12322999".split(""); let productData=[]; let num = Math.ceil(data.length / 5); for(let i= 0 ;i<num;i++){ productData.push(data.slice(i*5,i*5+5)) } console.log(productData);
都是截取5个元素为一个数组的