我有下面的資料代碼。它是一個物件,每個鍵都有一個日期。其中有屬性Open和Closed。如果Closed是0,那么該屬性就不存在。
let data = {
"2021-09-06"/span>: {
"Open": 24
},
"2021-09-07": {
"Open": 80,
"關閉": 14.
},
}
我想實作以下目標
let res = [
{ "date": "2021-09-06", "Open": 24, "Closed": 0 },
{ "date": "2021-09-07", "Open": 80, "Closed": 14 },
]
誰能讓我知道如何實作這一點。我已經嘗試了這種方式,但我沒有按照我的要求在物件中獲得date屬性。
Object.entries(data)。 map((e) => ( { [e[0]] : e[1 ] } ));
uj5u.com熱心網友回復:
你在正確的軌道上。
Object. entries()回傳一個[key, value]圖元的陣列,所以在你的例子中,每個條目將看起來像['2021-09-06', { Open: 24,}] 。
你可以在map()呼叫中對這個傳遞的元組進行結構化,從而使其更具描述性。
Object.entries(data)。 map(([date, value]) => ...
然后你可以使用簡寫asignment來創建date屬性,宣告一個默認的Closed: 0屬性,然后使用spread syntax來應用value物件的現有屬性,如果Closed屬性存在于原始物件中,它將被覆寫。
let data = {
'2021-09-06': { Open: 24, },
'2021-09-07': { Open: 80, Closed: 14, },
};
const result = Object.entries(data)。 map(([date, value]) => ({ date, Closed: 0, ...value }))。)
console.log(result);
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/306901.html
標籤:
