我遇到了一個問題。我直接從我的數據庫中從我的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