js数组中每一个对象都添加一个属性'id',id唯一且是number类型

treeData: [

    {
      label: 'aaa',
      children: [
        { 
          label: 'bbb' 
        },
        { 
          label: 'ccc' 
        },
        { 
          label: 'ddd' 
        }
      ]
    }
  ]

在每个里面添加id之后的

`treeData: [
    {
      id: 1,
      label: 'aaa',
      children: [
        { id: 2,
          label: 'bbb' },
        { id: 3,
          label: 'ccc' },
        { id: 7,
          label: 'ddd' }
      ]
    }
  ],`
  求
阅读 4.2k
2 个回答
var treeData=[

    {
      label: 'aaa',
      children: [
        { 
          label: 'bbb' 
        },
        { 
          label: 'ccc' 
        },
        { 
          label: 'ddd' 
        }
      ]
    }
  ]

function setId(list, start=1) {
  return list.reduce((id, item) => {
    item.id = id++;
    return Array.isArray(item.children) ? setId(item.children, id) : id;
  }, start);
}

setId(treeData)
console.log(treeData)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题