js 无限层级树形 原生filter实现 无限层级 树形数据结构
使用 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 == child);
branchArr.length > 0 ? father = branchArr : '';
//返回第一层 我这里是0 实际应用根据自己项目情况修改
return father == 0;
})
}
页:
[1]