js循環一維數組按指定長度截取為二維數組


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM