簡體   English   中英

使用動態鍵和非動態創建動態對象

[英]Create dynamic object with dynamic keys and non dynamic

我正在嘗試使用一些動態而不是動態字段創建嵌套對象

這是我的數據集 let 方法 = {

"97": {
    "mini_id": 75,
    "score": "2",
    "fe_id": 97
  },
  "98": {
    "mini_id": 75,
    "score": "2",
    "fe_id": 98
  },
  "169": {
    "mini_id": 76,
    "score": "1",
    "fe_id": 169
  },
  "170": {
    "mini_id": 76,
    "score": "1",
    "fe_id": 170
  },
  "171": {
    "mini_id": 76,
    "score": "1",
    "fe_id": 171
  },
  "172": {
    "mini_id": 76,
    "score": "3",
    "fe_id": 172
  }
}

我正在嘗試以以下格式獲取數據

var reduced = Object.values(arr).reduce((c,v) => { 
        c[v.mini_id] = c[v.mini_id] || {};
    c[v.mini_id]["fees"][v.fe_id] = c[v.mini_id]["fees"][v.fe_id] || {};
    return c;
}, {}) 

我希望我的字典看起來像:

{75:{費用:{97:{....}}}}

看起來它不喜歡將動態鍵與非動態鍵混合。 有什么建議?

以下代碼片段可能對您有所幫助,

 const arr = { 97: { mini_id: 75, score: "2", fe_id: 97, }, 98: { mini_id: 75, score: "2", fe_id: 98, }, 169: { mini_id: 76, score: "1", fe_id: 169, }, 170: { mini_id: 76, score: "1", fe_id: 170, }, 171: { mini_id: 76, score: "1", fe_id: 171, }, 172: { mini_id: 76, score: "3", fe_id: 172, }, }; const reduced = Object.values(arr).reduce((c, v) => { c[v.mini_id] = c[v.mini_id] ?? { fees: {} }; c[v.mini_id].fees[v.fe_id] = c[v.mini_id].fees[v.fe_id] ?? {}; return c; }, {}) console.log(reduced);

暫無
暫無

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

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