2021-05-21 清除树结构中的空的子节点的children属性

清除树结构中的空的子节点的children属性

后端返回数据是这样的:


"LISTINFO": [
			{
				"children": [
					{
						"children": [
							{
								"children": [],
								"checked": false,
								"label": "性别",
								"value": "10000",
								"parentId": "1000"
							},
							{
								"children": [
									{
										"children": [],
										"checked": false,
										"label": "年龄段",
										"value": "10011",
										"parentId": "10010"
									}
								],
								"checked": false,
								"label": "年龄区间",
								"value": "10010",
								"parentId": "1000"
							},
							{
								"children": [
									{
										"children": [],
										"checked": false,
										"label": "婚姻状况",
										"value": "10021",
										"parentId": "10020"
									}
								],
								"checked": false,
								"label": "婚姻情况",
								"value": "10020",
								"parentId": "1000"
							},
							{
								"children": [],
								"checked": false,
								"label": "学历",
								"value": "10030",
								"parentId": "1000"
							},
							
							
							
				],
				"checked": false,
				"label": "根节点",
				"value": "root",
				"parentId": "0"
			}
		]

我需要的数据结构

options: [ {
          id: 'a',
          label: 'a',
          children: [ {
            id: 'aa',
            label: 'aa',
          }, {
            id: 'ab',
            label: 'ab',
          } ],
        }, {
          id: 'b',
          label: 'b',
        }, {
          id: 'c',
          label: 'c',
        } ],

我的操作

/* 树层次过滤 */
    treeLevel(arr) {
      arr.forEach((item) => {
        if (item.children.length != 0) {
          this.treeLevel(item.children);
          item.id = item.value;
        } else if (item.children.length == 0) {
          delete item.children;
          item.id = item.value;
        }
      });
      return arr;
    },

传入请求到的数据并接收

 this.data = this.treeLevel(res.obj.TrnBody.LISTINFO[0].children);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值