js通用递归方法

不多说了,直接上方法了,自己按照方法来即可!

/*
 $name 通用的递归组件
 $author xhcss.com
 @data 需要递归的数组
 @parentId 递归的父级id
 @parentName 递归的父级的key
 @id 本级的key
 @nonull 是否删除children=[] 空的对象,默认删除
*/
export function generalRecursion(data, parentId = null, parentName = "parentId", id = "id", nonull = true, childrenName = 'children') {
  if (!Array.isArray(data) || data.length == 0) return []
  return data
    .filter((o) => o[parentName] == parentId)
    .map((v) => ((v[childrenName] = generalRecursion(data, v[id], parentName, id, nonull, childrenName)), nonull && v[childrenName] && v[childrenName].length == 0 ? delete v[childrenName] && v : v));
}


相关内容

发表评论

验证码:
点击我更换图片

最新评论