为了账号安全,请及时绑定邮箱和手机立即绑定

js遍历解析多层级对象数组,如何给每个元素加入层级标识?

js遍历解析多层级对象数组,如何给每个元素加入层级标识?

凤凰求蛊 2018-12-20 18:15:28
我有这样的一组数据:需求是用d3做一个多层的关系图,要求不同层级的元素有不同的样式,这样就需要给每一层的元素加上对应的层级标识使d3渲染的时候能知道当前元素在第几层展示对应的样式。所以我想实现把上面的那组数据的每一个元素加上一个layer标识,比如下面的样子:由于数据都是动态的,所以需要代码遍历实现。
查看完整描述

1 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

供参考


let queue = [data, null]

let level = 0


while (queue.length > 1) {

  let node = queue.pop()

  if (node === null) {

    level += 1

    queue.push(null)

    continue

  }

  node.layer = level

  if (node.children) {

    queue = queue.concat(data.children)

  }

}


查看完整回答
反对 回复 2019-01-26
  • 1 回答
  • 0 关注
  • 2667 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信