簡體   English   中英

如何將一個對象轉換為一個對象數組?

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

所以我有一些狀態,看起來像這樣

object:{
  foo: Array[3]
  bar: Array[6]
}

並且對象內的條目數量可能會改變,可能有3個數組,可能有10個。它必須是動態的,我必須將其顯示為計數(在餅圖中),以接受數據,如下所示,數據是JSX標簽內的支柱

data:{[
  {x:foo, y:foo.length},
  {x:bar, y:bar.length}
]}

x輸出為名稱,y輸出為數字(不是百分數,lib為我計算)

我試圖在這里使用一些示例,例如該線程,但我只是不明白

首選ES6語法,如果您有興趣,我將Victory用於我的圖形庫

請嘗試使用Array.mapObject.entries

 let obj = {foo : [1,2,3], bar : [1,2,3,4,5,6]}; let data = Object.entries(obj).map(([k,v]) => ({x:k, y:v.length})); console.log(data); 

您甚至可以簡單地使用帶有鍵的map :(以支持ie)

 const obj = {foo : [1,2,3], bar : [1,2,3,4,5,6]}; const d = Object.keys(obj).map(el => ({x:el, y:obj[el].length})); console.log(d); 

暫無
暫無

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

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