簡體   English   中英

如何將數組轉換為特定格式的 object?

[英]How to convert an array into an object of specific format?

雖然這是一個常見問題,但我找不到任何線索來獲得預期的結果。 所以這就是問題所在。 我有以下數組:

[
    [ 'a' ]
    [ 'a', 'b' ]
    [ 'a', 'c' ]
    [ 'a', 'c', 'd' ]
    [ 'a', 'c', 'd', 'e' ]
]

我想要的最終結果是這樣的 object:

{
  a: {
    b: {},
    c: { d: { e: {} } }
  }
}

我不明白哪種方法會更好地獲得這個結果以及如何實現它。

您需要一個雙重減少,一個用於外部數組,一個用於鍵和嵌套對象。

 var data = [['a'], ['a', 'b'], ['a', 'c'], ['a', 'c', 'd'], ['a', 'c', 'd', 'e']], result = data.reduce((r, keys) => { keys.reduce((o, k) => o[k] = o[k] || {}, r); return r; }, {}); console.log(result);

暫無
暫無

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

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