Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.4k views
in Technique[技术] by (71.8m points)

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' }
      ]
    }
  ],`
  求

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
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)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...