当前位置: 首页 > news >正文

免费网站模板之家网站建设渠道

免费网站模板之家,网站建设渠道,域名年费价格表,长沙楼盘信息官网其实问题很简单,就是想要循环遍历整个data对象,来实现所有name转成label,但是想到里面还有children属性,整个children里面可能还会嵌套很多很多的name,如此循环,很难搞,知道使用递归&#xff0c…

在这里插入图片描述
其实问题很简单,就是想要循环遍历整个data对象,来实现所有name转成label,但是想到里面还有children属性,整个children里面可能还会嵌套很多很多的name,如此循环,很难搞,知道使用递归,但却无从下手。

let data = {name: 'a', children: [{ name: 'b', children: null },{ name: 'c', children: [{ name: 'd', children: null },{ name: 'e', children: [{ name: 'f', children: null }] }]}]
}

这里面的结构可能还会有更多的嵌套,首先递归的思路是对的,我们要找一个临界条件来终止整个递归,有一个条件才让他递归。
首先递归肯定是要循环的。
我们可以去循环data整个对象,也可以按照children数组的形式去循环
我喜欢喜欢数组,其实大同小异。

const aaa = (data) => {Array.isArray(data) ? data = data : data = [data]return data.map(item => {item['label'] = item.nameif (item.children && item.children.length !== 0) {aaa(item.children)}return item})
}

我们使用map循环,map的话可能返回一个新的数组,是符合我们递归的需求,不需要新建立一个变量来存储改变之后的数组对象。
这个问题的临界点就是,children是否存在子级,那我们就可以这样判断找到临界

item.children && item.children.length !== 0

只有children存在并且他里面的水族项是有值的才能让他递归,否则不参与递归,直接返回。
递归的话,直接再一次

aaa(item.children)

进入递归条件。这个时候操作的都是item.children里的数组对象,当然这里面也有用带复杂数据类型引用关系的特点。
在这里插入图片描述
这样成功了,我们也可以吧name属性删除

delete item.name

在这里插入图片描述

http://www.yayakq.cn/news/600039/

相关文章:

  • 泰安建设信息网站浏览器收录网站
  • wordpress 网站统计插件下载网站添加文章之后更新缓存访问网站就需要输入账号密码
  • 建站专业团队一站式服务无代码开发小程序
  • 华为官方网站手机商城首页做商贸网站
  • 装修公司网站 源码wordpress 支付宝免签
  • 网站小白怎么开始学网站建设重庆网站设计中心
  • 如何做好专业类网站网站备案号 主体备案号
  • 上海建站哪家好怎么让百度搜出自己
  • 游戏网站做的思想步骤注册深圳公司有什么好处
  • 网站开发 流程企业网站做优化
  • 芜湖网站优化企业如何打造自己的品牌
  • 美食网站 怎么做生产管理系统免费版
  • 事业单位网站建设的账务处理合肥seo排名优化
  • 各大网站注册记录做单位网站
  • 网站建设注意事项移动网站建设专业论文
  • 同字形结构布局网站成都网站建设 工作室
  • 聊城医院网站建设货源网站开发
  • 建设网站怎样分配给用户空间佛山优化公司推广
  • 网站登录密码怎么取消保存云相册网站怎么做
  • 国内做五金加工的订单网站阿里虚拟机建设网站
  • 专业定制网站公司兼职网站高中生在家可做
  • 个人备案网站内容cosy主题wordpress
  • wordpress++分页优化方案官方网站
  • 做网站开发的想接私活做网站的公司找客户
  • 重庆企业型网站建设优书网打不开了
  • 涡阳在北京做网站的名人长沙 php企业网站系统
  • 网页制作与网站建设宝典 pdf如何将自己做的网站放到网上去
  • 建设工程质量安全管理体系网站比较好的做网站的公司
  • 寻花问柳-专注做一家男人的网站猪网站开发的pc或移动端
  • 网站地图怎么做一键导航展会设计公司简介