js遍历树节点修改节点key值

数组map方法

使用map方法可以返回一个新数组的映射

定义一个tree数据

// tree data
const tree = [
        {
          value: 1,
          title: '一级分类',
          level: '1',
          children: [
            {
              value: 2,
              title: '微信小程序',
              level: '2',
              children:[]
            },
            {
              value: 3,
              title: '百度小程序',
              level: '2',
              children:[]
            },
            {
              value: 4,
              title: '头条小程序',
              level: '2',
              children:[]
            },
          ],
        },
        {
          value: 5,
          title: '一级分类二',
          level: '1',
          children: [
            {
              value: 6,
              title: '支付宝小程序',
              level: '2',
              children:[]
            },
            {
              value: 7,
              title: 'qq小程序',
              level: '2',
              children:[]
            },
            {
              value: 8,
              title: '哔哩哔哩小程序',
              level: '2',
              children:[]
            },
          ],
        },
      ],

使用map方法遍历数据

const newArr = tree.map(item => treeMap(item))

function treeMap(data){
	const hasChild = data.children && data.children.length > 0
	// 可以根据实际开发需要返回自己想要的key值
		return {
			id:item.value,
			child:hasChild ? data.children.map(i => treeMap(i)) : []
		}
}

输出结果

在这里插入图片描述

结束语

第一次写博客,前端小白。文章如有错误之处,敬请指出!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值