Lodash是一個(gè)一致性、模塊化、高性能的 JavaScript 實(shí)用工具庫(kù)。
官網(wǎng)地址:https://www.lodashjs.com/
var?_?=?require('lodash');
代碼貼上:
? ? ? ? ? ? let dataList = [];
? ? ? ? ? ? let arrMapList = [],mapObj = {};
? ? ? ? ? ? ? _.each(dataList, (item,index) => {
? ? ? ? ? ? ? ? if(!mapObj[item.id+'']&&item.parentId===0){//挑出父級(jí),根據(jù)不同的父級(jí)對(duì)象創(chuàng)建數(shù)組;
? ? ? ? ? ? ? ? ? ? ? arrMapList.push({
? ? ? ? ? ? ? ? ? ? ? ? ...item,? ? ? ? ? ? ? ? ? ? ? ? ? ? //對(duì)象中的擴(kuò)展運(yùn)算符(...)用于取出參數(shù)對(duì)象中的所有可遍歷屬性,拷貝到當(dāng)前對(duì)象之中
? ? ? ? ? ? ? ? ? ? ? ? wordsner:[]
? ? ? ? ? ? ? ? ? ? });
? ? ? ? ? ? ? ? ? ? mapObj[item.id+''] = item;
? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? //如果不是父級(jí),就把對(duì)應(yīng)的子級(jí)添加到父級(jí)
? ? ? ? ? ? ? ? ? _.each(arrMapList,(obj,index) => {
? ? ? ? ? ? ? ? ? ? if(obj.id == item.parentId){
? ? ? ? ? ? ? ? ? ? ? obj.wordsner.push(item);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? ? }
? ? ? ? ? ? })
以上是把一維數(shù)組轉(zhuǎn)化成二維數(shù)組,可以用以上方法轉(zhuǎn)化三位數(shù)組
$.extend()用法? ? (我的理解就是合并兩個(gè)對(duì)象)
varobj={};
varobj1={
name:'hunger',
sex:'man'
? };
varobj2={
name:'valley',
age:30
? }
//$.extend(obj,obj1)? //把obj1拷貝到obj上面
$.extend(obj,obj1,obj2)//屬性會(huì)覆蓋 Object {name: "valley", sex: "man", age: 30}
摘自:https://blog.csdn.net/alsdiuhfeircn/article/details/96132167
concat()的使用方法
concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組。
該方法不會(huì)改變現(xiàn)有的數(shù)組,而僅僅會(huì)返回被連接數(shù)組的一個(gè)副本。
arrayObject.concat(arrayX,arrayX,......,arrayX)
必需。該參數(shù)可以是具體的值,也可以是數(shù)組對(duì)象。可以是任意多個(gè)。
返回一個(gè)新的數(shù)組。該數(shù)組是通過(guò)把所有 arrayX 參數(shù)添加到 arrayObject 中生成的。
如果要進(jìn)行 concat() 操作的參數(shù)是數(shù)組,那么添加的是數(shù)組中的元素,而不是數(shù)組。