JS使用循環按指定倍數分割數組組成新的數組的方法


 今天一個新人同事問了我一個問題,就是有一個像下邊這種不知道具體長度的數組,想以每4個為一組,重新組合為一個二維數組,很簡單的需求只需要用到一個循環再去取余數就可以了,寫了一個小demo在這里把代碼包括注釋貼出來供新人參考,代碼如下:

        var chartArr = [
        {value:1,name:'哈哈'},
        {value:2,name:'哈哈'},
        {value:3,name:'哈哈'},
        {value:4,name:'哈哈'},
        {value:5,name:'哈哈'},
        {value:6,name:'哈哈'},
        {value:7,name:'哈哈'},
        {value:8,name:'哈哈'},
        {value:9,name:'哈哈'},
        {value:10,name:'哈哈'},
        {value:11,name:'哈哈'},
        {value:12,name:'哈哈'},
        {value:13,name:'哈哈'}
        ];
        var allData = []; //用來裝處理完的數組
        var currData = []; //子數組用來存分割完的數據
        //循環需要處理的數組
        for(var i = 0; i < chartArr.length; i++) {
            //將chartArr[i]添加到子數組
            currData.push(chartArr[i]);
            console.log(i)
            //在這里求4的余數,如果i不等於0,且可以整除 或者考慮到不滿4個或等於4個的情況就要加上  i等於當前數組長度-1的時候
            if((i != 0 && (i + 1) % 4 == 0) || i == chartArr.length - 1) {
                //把currData加到allData里
                allData.push(currData);
                //在這里清空currData
                currData = [];
            }
        };

下圖是處理完的二維數組

 


免責聲明!

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



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