[
{
"parentId": 0,
"resourceId": 100,
"resourceName": "A"
},
{
"parentId": 100,
"resourceId": 1001,
"resourceName": "AA"
},
{
"parentId": 100,
"resourceId": 1002,
"resourceName": "AB"
},
{
"parentId": 100,
"resourceId": 1003,
"resourceName": "AC"
},
{
"parentId": 0,
"resourceId": 150,
"resourceName": "B"
},
{
"parentId": 150,
"resourceId": 1501,
"resourceName": "BA"
},
{
"parentId": 150,
"resourceId": 1502,
"resourceName": "BB"
},
{
"parentId": 0,
"resourceId": 200,
"resourceName": "C"
}
]
parentId为0为第一级,parentId的值如果等于resourceId的值,则为下一级,以此类推。
想操作成如下格式,望大神指点迷津。
[
{
"parentId": 0,
"resourceId": 100,
"resourceName": "A",
" child": [
{
"parentId": 100,
"resourceId": 1001,
"resourceName": "AA"
},
{
"parentId": 100,
"resourceId": 1002,
"resourceName": "AB"
},
{
"parentId": 100,
"resourceId": 1003,
"resourceName": "AC"
}
]
},
{
"parentId": 0,
"resourceId": 150,
"resourceName": "B",
"child": [
{
"parentId": 150,
"resourceId": 1501,
"resourceName": "BA"
},
{
"parentId": 150,
"resourceId": 1502,
"resourceName": "BB"
}
]
},
{
"parentId": 0,
"resourceId": 200,
"resourceName": "C"
}
]
总体思路:从数组中的filter出符合条件的,重新构建一个新的object。
再或者,可以看看这个jq插件