最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

在nodejs

IT培训 admin 9浏览 0评论

在nodejs

我的数据库如下:


id |名称| parentId

1 | Cate1 | null

2 |类别2 | 1

3 | Cate3 | 2


我的预期输出是

{
  id:1,
  name:"Cate1",
  parentId:null,
  subCate:[
   {
     id:2,
     name:"Cate2",
     parentId:1,
     subCate:[
           {
            id:3,
            name:"Cate3",
            parentId:2,
            subCate:[]
           }
         ]
   }
  ]
} 

依此类推...

如何获得此结果。

回答如下:

function getNestedChildren(arr, parentId) {
  var out = []
  for (var i in arr) {
    if (arr[i].parentId == parentId) {
      var children = getNestedChildren(arr, arr[i].id)

      if (children.length) {
        arr[i].subCate = children
      }
      out.push(arr[i])
    }
  }
  return out
}

console.log(JSON.stringify(getNestedChildren([
  {id: 1, name: 'edwd', parentId: null},
  {id: 2, name: 'ttt', parentId: null},
  {id: 3, name: 'ooo', parentId: 1},
  {id: 4, name: 'ppp', parentId: 3},
  {id: 5, name: 'lll', parentId: 4},
  {id: 6, name: 'mmm', parentId: 4},
  {id: 7, name: 'nnn', parentId: 3},
  {id: 8, name: 'zzz', parentId: 2}
], null)))

在nodejs

我的数据库如下:


id |名称| parentId

1 | Cate1 | null

2 |类别2 | 1

3 | Cate3 | 2


我的预期输出是

{
  id:1,
  name:"Cate1",
  parentId:null,
  subCate:[
   {
     id:2,
     name:"Cate2",
     parentId:1,
     subCate:[
           {
            id:3,
            name:"Cate3",
            parentId:2,
            subCate:[]
           }
         ]
   }
  ]
} 

依此类推...

如何获得此结果。

回答如下:

function getNestedChildren(arr, parentId) {
  var out = []
  for (var i in arr) {
    if (arr[i].parentId == parentId) {
      var children = getNestedChildren(arr, arr[i].id)

      if (children.length) {
        arr[i].subCate = children
      }
      out.push(arr[i])
    }
  }
  return out
}

console.log(JSON.stringify(getNestedChildren([
  {id: 1, name: 'edwd', parentId: null},
  {id: 2, name: 'ttt', parentId: null},
  {id: 3, name: 'ooo', parentId: 1},
  {id: 4, name: 'ppp', parentId: 3},
  {id: 5, name: 'lll', parentId: 4},
  {id: 6, name: 'mmm', parentId: 4},
  {id: 7, name: 'nnn', parentId: 3},
  {id: 8, name: 'zzz', parentId: 2}
], null)))

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论