博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

js 把一个二叉树类型的对象转化为普通对象

Posted on 2019-09-29 18:35  Hhuizi  阅读(535)  评论(0编辑  收藏  举报
function jsonToArray(nodes) {
  let r = []
  if (Array.isArray(nodes)) {
    for (let i = 0, l = nodes.length; i < l; i++) {
      r.push(nodes[i]) // 取每项数据放入一个新数组
      if (Array.isArray(nodes[i]['children']) && nodes[i]['children'].length > 0) {
        // 若存在children则递归调用,把数据拼接到新数组中,并且删除该children
        r = r.concat(jsonToArray(nodes[i]['children']))
      }
      delete nodes[i]['children']
    }
  }
  return r
}