js数组到树

文章描述了一个JavaScript函数`treeToList`,它接收一个表示地区层级关系的树形数据列表,然后将其转换为扁平化的数组,便于处理和展示。
摘要由CSDN通过智能技术生成
        const list = [
		  { value: '吴中区', parent: '1.1', id: '1.1.1' },
		  { value: '江苏', parent: null, id: '1' },
		  { value: '苏州', parent: '1', id: '1.1' },
		  { value: '杭州', parent: '2', id: '2.1' },
		  { value: '浙江', parent: null, id: '2' },
		  { value: '余杭区', parent: '2.1', id: '2.1.1' }
		]
		const treeToList = (list)=>{
			const newArr = []
			const obj = {}
			list.forEach(item=>{
				obj[item.id] = {...item,children:[]}
			})
			list.forEach(item=>{
				if(item.parent && obj[item.parent]){
					obj[item.parent].children.push(obj[item.id])
				}else{
					newArr.push(obj[item.id])
				}
			})
			return newArr
		}
        let result = treeToList(list)
        console.log(result)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值