精华内容
下载资源
问答
  • js中,一个数组拆分成两个数组

    千次阅读 2020-07-15 09:40:27
    在网上偶尔看到有一代码,一个数组拆分多个数组,想起以前有过这样的需求,不知道方法,现记录下来 // size每组数组多少个,如:8 // array需要拆分的数组 const arrayChunk = (array, size) => { let data = ...

    在网上偶尔看到有一代码,一个数组拆分成多个数组,想起以前有过这样的需求,不知道方法,现记录下来

    // size每组数组多少个,如:8
    // array需要拆分的数组
    function arrayChunk(array, size){
      let data = []
      for (let i = 0; i < array.length; i += size) {
        data.push(array.slice(i, i + size))
      }
      return data
    }
    
    展开全文
  • 在工作中有时前台展示需求的不同要把后台的数组对象进行再分类。 举栗子:   let arr = [ { date: '2018-01-06',SW: '90.95', LL: '136', XXSW: '80.22',CKLL: '500' }, { date: '2018-01-06', SW: '164.95...
    展开全文
  • 现在有这样一个数组,后端给的, policyDtos: [{clazzType: 1, clazzTypeText: '限签', remark: '严格限签', sourceTypeText: '地区收集'}, {clazzType: 2, clazzTypeText: '限售', remark: '限售', sourceTy

    前端必备技能之一,按需分类
    有给的数据时候为了处理数据方便一些,后端给的数据可能不是我们想要的数据结构,这时候就需要你稍微做一点点的处理才能为自己所用
    现在有这样一个数组,后端给的,

    policyDtos: [{clazzType: 1, clazzTypeText: '限签', remark: '严格限签', sourceTypeText: '地区收集'},
                    {clazzType: 2, clazzTypeText: '限售', remark: '限售', sourceTypeText: '地区收集'},
                    {clazzType: 3, clazzTypeText: '限价', remark: '限价', sourceTypeText: '地区收集'},
                    {clazzType: 4, clazzTypeText: '限购', remark: '限购', sourceTypeText: '地区收集'},
                    {clazzType: 5, clazzTypeText: '限贷', remark: '限贷', sourceTypeText: '地区收集'},
                    {clazzType: 6, clazzTypeText: '资金监管', remark: '资金监管', sourceTypeText: '地区收集'}],
    

    上面的policyDtos为数组对象,需要根据clazzType进行拆分分类,同一类的要放在一个数组里面,可以用如下代码。

    const arr = []
    this.policyDtos.forEach(item => {
        const parent = arr.find(cur => cur.clazzType === item.clazzType)
        if (parent) {
            parent.childs.push(item)
        } else {
            const obj = {
                clazzTypeText: item.clazzTypeText,
                clazzType: item.clazzType,
                childs: [item]
    
            }
            arr.push(obj)
        }
    })
    console.log('arr', arr)
    

    最后打印出的arr 就是

    arr: [{ clazzType: 1,
               clazzTypeText: '限签',
               childs: [{clazzType: 1, clazzTypeText: '限签', remark: '严格限签', sourceTypeText: '地区收集'}]
           },
           { clazzType: 1,
               clazzTypeText: '限售',
               childs: [{clazzType: 1, clazzTypeText: '限售', remark: '限售', sourceTypeText: '地区收集'}]
           },
           { clazzType: 1,
               clazzTypeText: '限价',
               childs: [{clazzType: 1, clazzTypeText: '限价', remark: '限价', sourceTypeText: '地区收集'}]
           },
           { clazzType: 1,
               clazzTypeText: '限购',
               childs: [{clazzType: 1, clazzTypeText: '限购', remark: '限购', sourceTypeText: '地区收集'}]
           },
           { clazzType: 1,
               clazzTypeText: '限贷',
               childs: [{clazzType: 1, clazzTypeText: '限贷', remark: '限贷', sourceTypeText: '地区收集'}]
           },
           { clazzType: 1,
               clazzTypeText: '资金监管',
               childs: [{clazzType: 1, clazzTypeText: '资金监管', remark: '资金监管', sourceTypeText: '地区收集'}]
           }]
    

    最后页面粘上我的页面实现
    在这里插入图片描述

    展开全文
  • /** * 分割数组创建二维数组封装 * @param data 数组 * @param senArrLen 需要分割成子数组的长度 ... //处理成len个一组的数据 let data_len = data.length; let arrOuter_len = data_len % ...
    /**
     * 分割数组创建二维数组封装
     * @param data 数组
     * @param senArrLen 需要分割成子数组的长度
     */
    let splitArr = (data , senArrLen)=>{
        //处理成len个一组的数据
        let data_len = data.length;
        let arrOuter_len = data_len % senArrLen === 0 ? data_len / senArrLen : parseInt((data_len / senArrLen)+'') + 1;
        let arrSec_len = data_len > senArrLen ? senArrLen : data_len;//内层数组的长度
        let arrOuter = new Array(arrOuter_len);//最外层数组
        let arrOuter_index = 0;//外层数组的子元素下标
        // console.log(data_len % len);
        for (let i = 0; i < data_len; i++) {
            if (i % senArrLen === 0){
                arrOuter_index++;
                let len = arrSec_len * arrOuter_index;
                //将内层数组的长度最小取决于数据长度对len取余,平时最内层由下面赋值决定
                arrOuter[arrOuter_index-1] = new  Array(data_len % senArrLen);
                if(arrOuter_index === arrOuter_len)//最后一组
                    data_len % senArrLen === 0 ?
                        len = data_len % senArrLen + senArrLen * arrOuter_index :
                        len = data_len % senArrLen + senArrLen * (arrOuter_index - 1);
                let arrSec_index = 0;//第二层数组的索引
                for (let k = i; k < len; k++) {//第一层数组的开始取决于第二层数组长度*当前第一层的索引
                    arrOuter[arrOuter_index-1][arrSec_index] = data[k];
                    arrSec_index++;
                }
            }
        }
        console.log(arrOuter);
    };
    splitArr([1,2,3,4,5,6,7,8] , 3);//[Array(3), Array(3), Array(2)] 0:(3) [1, 2, 3] 1:(3) [4, 5, 6] 2:(2) [7, 8]
    splitArr([1,2,3,4,5,6] , 3);//[Array(3), Array(3)] 0:(3) [1, 2, 3] 1:(3) [4, 5, 6] 
    

     

    展开全文
  • 数组的结构为[value,value … ,value]; $arr1 = array('张三','李四','王五'); $arr2 = array(18,19,20); $arr3 = array('man','man','women'); <?php $arr1 = array('张三','李四','王五'); $arr2 = ...
  • 在项目中,我们会遇到需要将一个完整的数组分割为固定大小的小数组,在这里我总结了两种方法,分享在这里: 1.使用while进行自己解析 此方案中,试用while循环进行遍历整个数组,考虑到遍历,那当然我们也能够使用...
  • javascript怎么把一个json的数组拆分到两个json里,而且都要排序 javascript怎么把一个json的数组拆分到两个json里,而且都要排序
  • var arr= []; for(var i=0;i<data.length;i+=2){ arr.push(data.slice(i,i+2)); }
  • * 将数组拆分多个size长度的区块,并将这些区块组成一个新的数组。如果数组儒法被分隔成全部等长的区块,那么最后剩余的元素将组成一个区块 * Create an array of elements split into grounps the length of '...
  • 使用js数组拆分成几小数组

    千次阅读 2018-07-18 11:56:58
    最近项目需要将后台返回的数组拆分成二维数组,然后进行渲染。想了一下,不如写一个封装函数。 代码如下: split_array=(arr,len)=&gt;{ let arr_length = arr.length; let newArr = []; for(let i=0;i&...
  • batch(3, ' ') %} {% for article in article_row %} {{ article }} {% endfor %} {% endfor %} So, is there a way to do like above in vue.js? 解决方案 I would use helper groups array to render groups of ...
  • JS 根据数组对象属性值分类,把一个数组拆分多个数组 在工作中有时前台展示需求的不同要把后台的数组对象进行再分类。 举个栗子: this.BaseLineAndLessonLearnByGroupList= [ { name: 'BaseLine', ...
  • 作者:Abhilash Kakumanu 译者:前端小智 来源:stackabuse 有梦想,有干货,微信搜索 【大迁世界】 关注这在...在本文中,我们研究一下如何在 JS 中将数组拆分为n大小的块。 具体来说,主要研究两种方法: 使.
  • 1,将数组array分成长度为subGroupLength的小数组并返回新数组 function group(array, subGroupLength) { let index = 0; let newArray = []; while(index < array.length) { newArray.push(array.slice...
  • 多个分隔符作为数组拆分字符串功能(它既支持数组作为分隔符,也支持一个分隔符作为字符串) 没有本机函数或方法可以支持提供多个分隔符的数组,唯一的本机方法是使用正则表达式作为分隔符。 将split与regex配合...
  • js个数组分成多个数组

    千次阅读 2019-03-19 17:23:00
    1,将数组array分成长度为subGroupLength的小数组并返回新数组 function group(array, subGroupLength) { let index = 0; let newArray = []; while(index < array.length) { newArray.push(a...
  • function getNewArray(array, subGroupLength) { let index = 0; let newArray = []; while(index ) { newArray.push(array.slice(index, index += ... //得到的nArr数组为: nArr[[1,2,3,4,5,6,7,8],[9,10,11,12]]
  • js一个数组分割成个子数组

    万次阅读 2018-11-01 16:25:57
    一个数组分割成许多小数组保存起来。 /** * 分割数组创建二维数组封装 * @param data 数组 * @param senArrLen 需要分割成子数组的长度 */ let splitArr = (data , senArrLen)=&gt;{ //处理成len个一...
  • 需求是:根据json的tier值把一维度json数组拆分为多维json数组,而且结果必须是在同一个数组中。 下面已经实现了一个手动版的[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/13.gif][/...
  • 给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。 示例 1: 输入: [1,4,3,2] 输出: 4 解释: n 等于 2, 最大总和为 4...
  • 拆分一个数组的奇偶数

    千次阅读 2017-04-10 10:33:57
    今天上午电话面试,面试官想测试一下我的算法怎么样,给我出了一个拆分数组奇偶数的题目(估计面试官是当时零时想的吧)。题目描述:有一个整型数组,请把所有的奇数放在前部分,所有的偶数放在后半部分。算法描述:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,292
精华内容 8,116
关键字:

js一个数组拆分多个数组