//隨便創建一個數組 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個元素為一個數組的