使用 filter用于对数组进行过滤。
它创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意:filter()不会对空数组进行检测、不会改变原始数组 二、语法 - Array.filter(function(currentValue, indedx, arr), thisValue)
复制代码 其中,函数 function 为必须,数组中的每个元素都会执行这个函数。且如果返回值为 true,则该元素被保留; 函数的第一个参数 currentValue 也为必须,代表当前元素的值。 source:js对象数组 id parentId父级ID children:子级键名
- function treeData(source, id, parentId, children) {
- return source.filter(father => {
- let branchArr = source.filter(child => father[id] == child[parentId]);
- branchArr.length > 0 ? father[children] = branchArr : '';
- //返回第一层 我这里是0 实际应用根据自己项目情况修改
- return father[parentId] == 0;
- })
- }
复制代码
|