JS递归修改对象数组的属性key

const recursionFileMap = obj => {
    let arr = [] as any
    obj.map(item => {
      let obj = {
        name1: '',
        children: [],
      }
      obj.name1 = item.name
      if (item.children) {
        obj.children = recursionFileMap(item.children)
        // item.children
      }
      arr.push(obj)
    })
    return arr
  }
  
   const info = [
    {
      name: 'zs',
      children: [{name: 'zs1', children: [{name: 'zs1-1'}]}, {name: 'zs2'}],
    },
    {
      name: 'ls',
      children: [{name: 'ls1'}, {name: 'ls2'}],
    },
  ]
  
  const ret1 = recursionFileMap(info)

 最后,所有原数组的name属性变为name1

posted @ 2022-02-25 10:02  洛晨随风  阅读(1861)  评论(0编辑  收藏  举报