把一维数组转化成二维数组(根据不同的条件分配数组的数据)以及jq合并对象和js合并数组

Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库。

官网地址:https://www.lodashjs.com/

var _ = require('lodash');

代码贴上:

            let dataList = [];

            let arrMapList = [],mapObj = {};

              _.each(dataList, (item,index) => {

                if(!mapObj[item.id+'']&&item.parentId===0){//挑出父级,根据不同的父级对象创建数组;

                      arrMapList.push({

                        ...item,                            //对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中

                        wordsner:[]

                    });

                    mapObj[item.id+''] = item;

                }else{

                  //如果不是父级,就把对应的子级添加到父级

                  _.each(arrMapList,(obj,index) => {

                    if(obj.id == item.parentId){

                      obj.wordsner.push(item);

                    }

                  })

                }

            })

以上是把一维数组转化成二维数组,可以用以上方法转化三位数组

$.extend()用法    (我的理解就是合并两个对象)

varobj={};

varobj1={

name:'hunger',

sex:'man'

  };

varobj2={

name:'valley',

age:30

  }

//$.extend(obj,obj1)  //把obj1拷贝到obj上面

$.extend(obj,obj1,obj2)//属性会覆盖 Object {name: "valley", sex: "man", age: 30}

摘自:https://blog.csdn.net/alsdiuhfeircn/article/details/96132167

concat()的使用方法

concat() 方法用于连接两个或多个数组。

该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

arrayObject.concat(arrayX,arrayX,......,arrayX)

必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。

返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。

如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

你可能感兴趣的:(把一维数组转化成二维数组(根据不同的条件分配数组的数据)以及jq合并对象和js合并数组)