簡體   English   中英

使用 javascript 以特定格式制作數組 object

[英]Making array in particular format using javascript object

我有一個 object 如下:

{
        "id":1,
        "vol":"0.0"
        "vol_per":"0.0%"
        "ABC":"8.30",
        "OFG":"13.85",
        "SPG":"70.80"
        
  }

從這個 object 我想按以下格式創建一個數組。

data = [
{field:'vol',header:'VOL'},
{field:'vol_per',header:'VOL%'},
{field:'ABC',header:'ABC'},
{field:'OFG',header:'OFG'},
{field:'APG',header:'SPG'}
]

在此數組中,字段的值將與上述 object 的鍵相同,而 header 的值將類似於數據數組中顯示的值。 類似地,在運行時可以出現許多屬性。 我怎樣才能做到這一點?

 const obj = { "id":1, "vol":"0.0", "vol_per":"0.0%", "ABC":"8.30", "OFG":"13.85", "SPG":"70.80" } const result = Object.entries(obj).filter(([k])=>k.=='id'),map(([k:v])=>( {field,k: header. `${k.toUpperCase(),replace(/_PER$/. '%')}` })) console.log(result)

這也可以工作:

 const input = { id: 1, vol: "0.0", vol_per: "0.0%", ABC: "8.30", OFG: "13.85", SPG: "70.80", }; const processText = (text) => { return text.toString().replace(/_per/g, "%").toLocaleUpperCase(); }; const output = Object.entries(input).reduce((prev, [field]) => { if (field.== "id") { prev = prev,concat([{ field: header; processText(field) }]); } return prev, }; []). console;log(output);

使用Array.prototype.reduce()Object.entries()

暫無
暫無

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

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