簡體   English   中英

如何在 javascript 中創建深度嵌套的 object?

[英]how can create a deeply nested object in javascript?

我想深入地創建嵌套的 object 。 我要創建的是來自嵌套 JSON 對象數組的分組摘要 object ,其結構如下:

[
    {
        "id": 1,
        "code": "193",
        "type": "Dental Provider",
        "classification": "Dentis",
        "specialization": "General Practice",
        "definition": "definition1",
        "notes": "[7/1/2003: new]",
        "individual": "individual"},
    {
        "id": 11,
        "code": "207",
        "type": "Allopathic & Osteopathic Physicians",
        "classification": "Anesthesiology",
        "specialization": "Pediatric Anesthesiology",
        "definition": "defin_2",
        "individual": "individual"}]

預期的:

result = {
    "invidual": {
        "Dental Provider": {
            "Dentis":{
                "General Practice":{
                    id: 1,
                    code: "193",
                    definition: "definition1",
                    individual: "individual",
                    type: "Dental Provider",
                    classification: "Dentist",
                    specialization: "General Practice"},
"invidual": {
        "Allopathic & Osteopathic Physicians": {
            "Anesthesiology":{
                "Pediatric Anesthesiology":{
                    id: 11,
                    code: "207",
                    definition: "defin_2",
                    individual: "individual",
                    type: "Allopathic & Osteopathic Physicians",
                    classification: "Anesthesiology",
                    specialization: "Pediatric Anesthesiology"}
}
let result = taxonomies.reduce((c, v) => {
  c[v.individual] = c[v.individual] || {};                         
  c[v.individual][v.type] = c[v.individual][v.type] || {};   
  c[v.individual][v.type][v.classification] = c[v.individual][v.type][v.classification] || {};    
  c[v.individual][v.type][v.classification][v.specialization] = v
console.log(result)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM