【发布时间】:2016-09-25 14:21:56
【问题描述】:
我有一个平面数组,我想在 node.js 中构建一个树数组。 我的数组是这样的:
var data= [
{
"id1": 1001,
"id2": 1002,
"id3": 1004,
"id4": 1007,
"id5": 1013,
"id6": 1030,
"id7": null,
"id8": null,
"id9": null,
"accountid": 1108,
"name1": "Net Income",
"name2": "Net Income Before Extraordinary Item",
"name3": "Income (Loss) from operations ",
"name4": "Net Patient Revenue",
"name5": "Gross Patient Revenue",
"name6": "Inpatient Routine Services",
"name7": null,
"name8": null,
"name9": null,
"accountname": "3000000 - INPATIENT REVENUE ",
"amt1": 6266235,
"amt2": 0,
"amt3": 7085312,
"amt4": 7010901,
"amt5": 7008743,
"amt6": 6865373,
"amt7": 7298176,
"amt8": 7481711,
"nCurMnth": 0,
"samt4": 7010901,
"id": 1030,
"parentid": 1013,
"relativelevel": 6,
"accountdetailid": null,
"variancecalc": 1,
"InfoSetID": 1108,
"InfoSetName": "3000000 - INPATIENT REVENUE ",
"DetailType": "",
"DecimalCount": 2
},
{
"id1": 1001,
"id2": 1002,
"id3": 1004,
"id4": 1007,
"id5": 1013,
"id6": 1030,
"id7": null,
"id8": null,
"id9": null,
"accountid": 2708,
"name1": "Net Income",
"name2": "Net Income Before Extraordinary Item",
"name3": "Income (Loss) from operations ",
"name4": "Net Patient Revenue",
"name5": "Gross Patient Revenue",
"name6": "Inpatient Routine Services",
"name7": null,
"name8": null,
"name9": null,
"accountname": "3000090 - INPATIENT SWING BED ",
"amt1": 190887,
"amt2": 0,
"amt3": 256581,
"amt4": 271789,
"amt5": 235998,
"amt6": 251224,
"amt7": 307154,
"amt8": 314971,
"nCurMnth": 0,
"samt4": 271789,
"id": 1030,
"parentid": 1013,
"relativelevel": 6,
"accountdetailid": null,
"variancecalc": 1,
"InfoSetID": 2708,
"InfoSetName": "3000090 - INPATIENT SWING BED ",
"DetailType": "",
"DecimalCount": 2
},
{
"id1": 1001,
"id2": 1002,
"id3": 1004,
"id4": 1007,
"id5": 1013,
"id6": 1030,
"id7": null,
"id8": null,
"id9": null,
"accountid": 1114,
"name1": "Net Income",
"name2": "Net Income Before Extraordinary Item",
"name3": "Income (Loss) from operations ",
"name4": "Net Patient Revenue",
"name5": "Gross Patient Revenue",
"name6": "Inpatient Routine Services",
"name7": null,
"name8": null,
"name9": null,
"accountname": "3999000 - SUSPENSE DAILY REV CLEAR ACCT ",
"amt1": 0,
"amt2": 0,
"amt3": 0,
"amt4": 0,
"amt5": 0,
"amt6": 0,
"amt7": 0,
"amt8": 0,
"nCurMnth": 0,
"samt4": 0,
"id": 1030,
"parentid": 1013,
"relativelevel": 6,
"accountdetailid": null,
"variancecalc": 1,
"InfoSetID": 1114,
"InfoSetName": "3999000 - SUSPENSE DAILY REV CLEAR ACCT ",
"DetailType": "",
"DecimalCount": 2
},
{
"id1": 1001,
"id2": 1002,
"id3": 1004,
"id4": 1007,
"id5": 1013,
"id6": 1031,
"id7": null,
"id8": null,
"id9": null,
"accountid": 1133,
"name1": "Net Income",
"name2": "Net Income Before Extraordinary Item",
"name3": "Income (Loss) from operations ",
"name4": "Net Patient Revenue",
"name5": "Gross Patient Revenue",
"name6": "Inpatient Ancillary Services",
"name7": null,
"name8": null,
"name9": null,
"accountname": "3070000 - INTERP - INP ",
"amt1": 36886,
"amt2": 0,
"amt3": 47968,
"amt4": 45109,
"amt5": 38047,
"amt6": 39158,
"amt7": 31290,
"amt8": 45148,
"nCurMnth": 0,
"samt4": 45109,
"id": 1031,
"parentid": 1013,
"relativelevel": 6,
"accountdetailid": null,
"variancecalc": 1,
"InfoSetID": 1133,
"InfoSetName": "3070000 - INTERP - INP ",
"DetailType": "",
"DecimalCount": 2
},
{
"id1": 1001,
"id2": 1002,
"id3": 1004,
"id4": 1007,
"id5": 1013,
"id6": 1031,
"id7": null,
"id8": null,
"id9": null,
"accountid": 1135,
"name1": "Net Income",
"name2": "Net Income Before Extraordinary Item",
"name3": "Income (Loss) from operations ",
"name4": "Net Patient Revenue",
"name5": "Gross Patient Revenue",
"name6": "Inpatient Ancillary Services",
"name7": null,
"name8": null,
"name9": null,
"accountname": "3100000 - INPATIENT ANCILLARY REV ",
"amt1": 18822593,
"amt2": 0,
"amt3": 21676463,
"amt4": 21368866,
"amt5": 20284449,
"amt6": 21344632,
"amt7": 20272660,
"amt8": 21169123,
"nCurMnth": 0,
"samt4": 21368866,
"id": 1031,
"parentid": 1013,
"relativelevel": 6,
"accountdetailid": null,
"variancecalc": 1,
"InfoSetID": 1135,
"InfoSetName": "3100000 - INPATIENT ANCILLARY REV ",
"DetailType": "",
"DecimalCount": 2
},
{
"id1": 1001,
"id2": 1002,
"id3": 1004,
"id4": 1007,
"id5": 1013,
"id6": 1031,
"id7": null,
"id8": null,
"id9": null,
"accountid": 1273,
"name1": "Net Income",
"name2": "Net Income Before Extraordinary Item",
"name3": "Income (Loss) from operations ",
"name4": "Net Patient Revenue",
"name5": "Gross Patient Revenue",
"name6": "Inpatient Ancillary Services",
"name7": null,
"name8": null,
"name9": null,
"accountname": "3100090 - SWING BED INPATIENT REV ",
"amt1": 166993,
"amt2": 0,
"amt3": 225651,
"amt4": 228349,
"amt5": 143726,
"amt6": 227736,
"amt7": 235705,
"amt8": 206381,
"nCurMnth": 0,
"samt4": 228349,
"id": 1031,
"parentid": 1013,
"relativelevel": 6,
"accountdetailid": null,
"variancecalc": 1,
"InfoSetID": 1273,
"InfoSetName": "3100090 - SWING BED INPATIENT REV ",
"DetailType": "",
"DecimalCount": 2
}
]
注意:- id1 是根,其名称由 name1 表示,id2 是 id1 的直接子代,其名称为 name2,同样 id3 是 id2 的直接子代,其名称为 name3,依此类推。
现在我想要一个由 node.js 中的名称表示的分层(树状)结构。
我也想知道有没有可以做到这一点的包。
提前致谢。
树形的预期输出如下:
Net Income
|
---------Net Income Before Extraordinary Item
|
------Income (Loss) from operations
| |
| ------Net Patient Revenue
| |
| ---------
------XYZ
【问题讨论】:
-
你需要
[{ "Net income": 36886, "Net income before etc": 0, ... }, { "Net income": 18822593, ... }, ...]之类的东西吗?如果没有,您能否编辑您的问题并添加您想要的结果示例? -
抱歉,我没有看到您的编辑。我发布了一个答案,但我不确定它是否是你想要的。您需要向结果对象添加更多数据吗?
标签: javascript arrays json node.js npm