【发布时间】:2018-12-17 16:06:36
【问题描述】:
每次我的应用程序加载时,我都会收到以下json:
[
{
id: 'mALRRY93jASr',
identifier: '100',
text: 'Text A'
},
{
id: '7S3xHZEdNcfV',
identifier: '200',
text: 'Text B'
},
{
id: '2ZA5xSJeukU6',
identifier: '300',
text: 'Text C',
},
{
id: 'bhg3GnLEvw2k',
identifier: '300.100',
text: 'Text C - A'
},
{
id: 'bhg3GnLEvw2k',
identifier: '300.100.100',
text: 'Text C - A - A'
},
{
id: '2AcXNr4HT388',
identifier: '300.200',
text: 'Text C - B'
}
]
树级别由identifier 属性标识。
这棵树可以有数千个孩子,所以它需要递归。
如何使用Lodash 安排json 看起来像下面的json?
[
{
id: 'mALRRY93jASr',
identifier: '100',
text: 'Text A'
},
{
id: '7S3xHZEdNcfV',
identifier: '200',
text: 'Text B'
},
{
id: '2ZA5xSJeukU6',
identifier: '300',
text: 'Text C',
children: [
{
id: 'bhg3GnLEvw2k',
identifier: '300.100',
text: 'Text C - A',
children: [
{
id: 'bhg3GnLEvw2k',
identifier: '300.100.100',
text: 'Text C - A - A'
}
]
},
{
id: '2AcXNr4HT388',
identifier: '300.200',
text: 'Text C - B'
}
]
}
]
【问题讨论】:
-
数据排序了吗?你试过什么?
-
@NinaScholz 步骤的顺序可以是随机的...我还没有尝试过,因为我不知道如何处理
identifier属性 -
您是否在控制数据源?一个不同的模式会使处理这个数组更容易——“标识符”属性是一个实际的唯一数字,并添加一个“父标识符”属性来引用父对象的标识符。
-
@aardvark 我无法控制数据源。这是我正在使用的现成 API =/
标签: javascript json lodash