前面我们封装了一维数组(具备树形结构相关属性)处理成树形结构的方法:https://www.cnblogs.com/coder--wang/p/15013664.html 接下来我们来一波反向操作,封装一个可以将树形结构的数据扁平化的方法。这种场景在业务中还是很常见的,比如一个级联选择器,有时候 ...
前面我们封装了一维数组(具备树形结构相关属性)处理成树形结构的方法:https://www.cnblogs.com/coder--wang/p/15013664.html 接下来我们来一波反向操作,封装一个可以将树形结构的数据扁平化的方法。这种场景在业务中还是很常见的,比如一个级联选择器,有时候 ...
/* * 组装树形函数 (树形有无限层级) * 根据parent_id 将数据组装到每个元素children属性当中 parent_id = 0 为最顶级元素 */ ...
Array.prototype.reduce()方法介绍: 感性认识reduce累加器: 你可以通过打印reducer的两个参数,从而直观的感受到,第二个参数currentValue是当前的元素,而第一个参数accumulator总是返回每一次执行reducer函数的返回值,如此一次次累加 ...
需求: 1、把如下数据按照parent_id等于id的规则建立父子关系 2、同一层级的数组按照order升序 最终效果: 实现代码: 说明: 其实就是两个for循环嵌套,性能上还没有for循环好。 欢迎关注公众号【无聊猿】,共同学习探讨 ...
数组扁平化的方式 什么是数组扁平化? 数组扁平化:指将一个多维数组转化为一个一维数组。 例:将下面数组扁平化处理。 1.使用flat() flat() 方法是ES10提出的,它会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回 ...
var newArr = []新建一个数据,用于存储扁平化化后的数组 flatData(arr) { arr.forEach(item => { this.res.push(item ...
treeData(arr) { let cloneData = JSON.parse(JSON.stringify(arr)) //先将原来的数组深拷贝一份,防止影响到原来的数据 return cloneData.filter ...
主要使用的join方法: 方法2: 知识点: 方法3: flat()默认只会“拉平”一层,如果想要“拉平”多层的嵌套数组,可以将flat()方法的参数写成一个整数,表示想要拉平的层数,默认为1。 如果不管有 ...