当前位置:网站首页>Recursive use and multi-dimensional array object to one-dimensional array object
Recursive use and multi-dimensional array object to one-dimensional array object
2022-07-03 03:33:00 【MISS_ zhang_ 0110】
Recursive use and multi-dimensional array object to one-dimensional array object
One 、 Recursive tree data
var obj = [
{
id: '1536225102260137986',
name: ' Level six 6',
level: 1,
parentId: '-1',
remark: '',
children: [
{
id: '1539413104865148929',
name: '8',
level: 2,
parentId: '1536225102260137986',
remark: '',
children: [
{
id: '1539425671465500673',
name: '8.1',
level: 3,
parentId: '1539413104865148929',
remark: '',
children: null,
},
{
id: '1539435042027175937',
name: '8.2',
level: 3,
parentId: '1539413104865148929',
remark: '',
children: [
{
id: '1539435619528310786',
name: '8.2.1',
level: 4,
parentId: '1539435042027175937',
remark: '',
children: null,
},
],
},
{
id: '1539446851840868354',
name: '8.3',
level: 3,
parentId: '1539413104865148929',
remark: '',
children: null,
},
],
},
{
id: '1539434602904518658',
name: '8.1',
level: 2,
parentId: '1536225102260137986',
remark: '',
children: null,
},
{
id: '1539446726481510402',
name: '9',
level: 1,
parentId: '1536225102260137986',
remark: '',
children: null,
},
],
},
{
id: '1536236627473526785',
name: ' Level seven 7.1',
level: 1,
parentId: '-1',
remark: '',
children: [
{
id: '1536245410367074305',
name: ' Level seven 7.1',
level: 1,
parentId: '1536236627473526785',
remark: '',
children: [
{
id: '1539792426864050177',
name: '8.1',
level: 2,
parentId: '1536245410367074305',
remark: '',
children: null,
},
],
},
],
},
{
id: '1539167455968067586',
name: ' date ',
level: 1,
parentId: '-1',
remark: '',
children: [
{
id: '1539167630363033602',
name: ' today ',
level: 2,
parentId: '1539167455968067586',
remark: '',
children: null,
},
],
},
{
id: '1539794235812835329',
name: 'test',
level: 1,
parentId: '-1',
remark: '',
children: null,
},
{
id: '1539800261748420609',
name: ' Mood ',
level: 1,
parentId: '-1',
remark: '',
children: [
{
id: '1539800324059000833',
name: ' good ',
level: 2,
parentId: '1539800261748420609',
remark: '',
children: [
{
id: '1539801422505275394',
name: ' in ',
level: 3,
parentId: '1539800324059000833',
remark: '',
children: null,
},
{
id: '1539805697016950786',
name: ' Pretty good ',
level: 3,
parentId: '1539800324059000833',
remark: '',
children: null,
},
{
id: '1539806278271987713',
name: ' ok ',
level: 3,
parentId: '1539800324059000833',
remark: '',
children: null,
},
{
id: '1539808118615142402',
name: ' So-so ',
level: 3,
parentId: '1539800324059000833',
remark: '',
children: null,
},
{
id: '1539808207265951745',
name: 'OK',
level: 3,
parentId: '1539800324059000833',
remark: '',
children: null,
},
],
},
],
},
]
// recursive
function getJsonTree(data) {
let nowObj = data.map(item => ({
...item,
icon: ' picture ',
children:
item.children && item.children.length ? getJsonTree(item.children) : null,
}))
return nowObj
}
console.log(obj, getJsonTree(obj))
Two 、 Find a tree Id Under the name ( recursive )
let id = 1539792426864050177 //name:8.1
let name
function getName(data) {
data.forEach(item => {
if (item.id == id) {
name = item.name
} else {
item.children && item.children.length ? getName(item.children) : null
}
})
return name
}
console.log(getName(obj), 'getName')
3、 ... and 、 Find a tree Id Under the name ( Flattening arrays )
function getSortName(list) {
let res = []
res = list.concat(
...list
.map(item => {
if (item.children instanceof Array && item.children.length > 0) {
return this.getSortName(item.children)
}
return null
})
.filter(o => o instanceof Array && o.length > 0)
)
return res
}
console.log(getSortName(obj), 'getName')
link : https://wenku.baidu.com/view/7996d7d2f51fb7360b4c2e3f5727a5e9856a2728.html
边栏推荐
- 程序员新人上午使用 isXxx 形式定义布尔类型,下午就被劝退?
- ffmpeg之 一张/多张图片合成视频
- Summary of determinant knowledge points in Chapter 1 of Linear Algebra (Jeff's self perception)
- Mongodb installation & Deployment
- Limit of one question per day
- Download and install node, NPM and yarn
- Elsevier latex submitted the article pdftex def Error: File `thumbnails/cas-email. jpeg‘ not found: using draf
- redis在服务器linux下的启动的相关命令(安装和配置)
- [mathematical logic] normal form (conjunctive normal form | disjunctive normal form | major item | minor item | maximal item | minor item | principal conjunctive normal form | principal disjunctive no
- FileZilla Client下载安装
猜你喜欢
随机推荐
[mathematical logic] propositional logic (propositional logic reasoning | formal structure of reasoning | inference law | additional law | simplification law | hypothetical reasoning | refusal | disju
用Three.js做一個簡單的3D場景
node,npm以及yarn下载安装
[MySQL] the difference between left join, right join and join
sigaction的使用
小程序获取用户头像和昵称
Pytorch multi card distributed training distributeddataparallel usage
Solve high and send system Currenttimemillis Caton
ffmpeg之 一张/多张图片合成视频
Learning notes of C programming [compiled by Mr. Tan Haoqiang] (Chapter III sequence programming) 04 C sentence
监听对象中值变化及访问
Pytorch配置
[AI practice] Application xgboost Xgbregressor builds air quality prediction model (I)
没有sXid,suid&sgid将进入险境!-尚文网络xUP楠哥
900w+ data, from 17s to 300ms, how to operate
Some preliminary preparations for QQ applet development: make an appointment for a development account, download and install developer tools, and create QQ applet
900W+ 数据,从 17s 到 300ms,如何操作
[pyg] understand the messagepassing process, GCN demo details
softmax的近似之NCE详解
【DRM】DRM bridge驱动调用流程简单分析



![[pyg] understand the messagepassing process, GCN demo details](/img/8b/8490aac98fd2753e661f74e284f43d.png)




