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 = [];
            }
        };

下图是处理完的二维数组

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

P1182 数列分段Section II

题目描述 对于给定的一个长度为N的正整数数列A[i],现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小。 关于最大值最小: 例如一数列4 2 4...

2688
来自专栏Python小屋

Python从序列中选择k个不重复元素

集合中的元素不允许重复,Python集合的内部实现为此做了大量相应的优化,判断集合中是否包含某元素时比列表速度快很多。下面的代码用于返回指定范围内一定数量的不重...

3376
来自专栏九彩拼盘的叨叨叨

学习纲要:JavaScript 基础语法

1123
来自专栏CDA数据分析师

excel公式中14种运算符,帮你整理齐了

文 | 赵志东 运算符是公式中最主要的组成部分,包括数学运算符、逻辑运算符和连接运算符等,下面我们就全面学习一下excel公式里的运算符。 一、运算符 1、 数...

2015
来自专栏kalifaの日々

POJ2431-最优队列(最小堆)解法

这道题有一个坑,就是给出的加油站到终点的距离不一定是降序排列好了的。 所以得到input之后要先对数据进行排序。我直接用了#include<algorithm>...

3457
来自专栏蜉蝣禅修之道

基于Huffman编码的压缩软件的Python实现

2074
来自专栏云霄雨霁

排序----选择排序

1600
来自专栏听雨堂

深入理解字符串和字节数组转换

      前文中,论及字符串和字节数组的转换,虽然能够找到某个代码页,保证转换的可逆,但是在实际处理中,仍然还有一些细节问题需要注意.       最重要的...

1868
来自专栏烂笔头

Python正则表达式:最短匹配

目录[-] 最短匹配应用于:假如有一段文本,你只想匹配最短的可能,而不是最长。 例子 比如有一段html片段,<a>this is first label<...

3847
来自专栏小詹同学

Leetcode打卡 | No.22 括号生成

欢迎和小詹一起定期刷leetcode,每周一和周五更新一题,每一题都吃透,欢迎一题多解,寻找最优解!这个记录帖哪怕只有一个读者,小詹也会坚持刷下去的!

1901

扫码关注云+社区