我遇到了一个问题。我直接从我的数据库中从我的web后端接收这种json文件。但在结构的情况下,我希望它在客户端的结构,以保持数据库访问和http请求低。此数组中的每个元素表示一个数据集,它具有一个名为“sub”的子类别和名为“main”的主类别。因为我正在使用AngularJS,我想用ng-repeat在不同的元素中显示它们。因此,我想重新组织这个JSON的结构,所以我得到了一个具有数组的子类别的主类别数组(也是一个数组)。在Javascript中重组我的JSON对象的属性
[
{name: 'A', ..., sub: 'sub1', main: 'main1'},
{name: 'B', ..., sub: 'sub1', main: 'main1'},
{name: 'C', ..., sub: 'sub2', main: 'main1'},
{name: 'D', ..., sub: 'sub3', main: 'main2'},
....
]
应重组为以下内容:
[
main1 : [
sub1 : [
{name: 'A', ...},
{name: 'B', ...}
],
sub2 : [
{name: 'C', ...}
]
],
main2 : [
sub3 : [
{name: 'D', ...}
]
]
]
我已经设定某种形式的解决方案有许多循环遍历数组,记住所有的子类别和主要分类等,但主要的问题是通过创建这些称为main1和main2的数组(然后是sub1和sub2,sub3)。问题是我无法找到一个命名这些数组的命令,因为它们是基于我的“输入数据”中的字符串值。
...
var subValue = .... (get name of sub category)
var result.push({subValue: []});
...
这是行不通的。所有的数组元素被称为subValue,而不是我想要设置的名称。
我希望我能得到某种相关的信息。
很明显,OP有点偏离轨道,但这不是'不可能的'......它只是需要一点点修改 – charlietfl