js递归遍历dom树、数组扁平化

本文介绍了JavaScript中如何递归遍历DOM树以及如何扁平化数组。通过实例展示了五种方法,包括使用递归、reduce、toString与split、join与split以及扩展运算符,实现将多维数组转换为一维数组。核心思想是在遍历数组时,遇到子数组进行递归处理,直到所有元素都被处理成非数组并concat到结果中。
摘要由CSDN通过智能技术生成

js递归遍历dom树、数组扁平化

1. 遍历dom树

//数据
var data = [{
   id: 1,name: "办公管理",pid: 0},
		{
   id: 2,name: "请假申请",pid: 1},
		{
   id: 3,name: "出差申请",pid: 1},
		{
   id: 4,name: "请假记录",pid: 2},
		{
   id: 5,name: "系统设置",pid: 0},
		{
   id: 6,name: "权限管理",pid: 5},
		{
   id: 7,name: "用户角色",pid: 6},
		{
   id: 8,name: "菜单设置",pid: 6},
	];
//第一种方法
function getTree1(data) {
   
		const root = data.filter(item => {
   
			return item.pid === 0
		})
		root.forEach(root => {
   
			root.children = data.filter(item => {
   
				return item
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值