[英]Convert single object into array of objects
我有一個看起來像的對象:
var data = {first: '12/1/2019', second: '12/15/2019'}
我正在嘗試使用其鍵和值進入對象數組,如下所示:
var array = [
{phase: 'first', date: '12/1/2019'},
{phase: 'second', date: '12/15/2019'}
]
我嘗試了各種方法,但是最接近的方法是:
var array = Object.entries(data).map(([key, value]) => ({key,value}));
這給了我一系列對象,例如:
[
{key: 'first', value: '12/1/2019'},
{key: 'second', value: '12/15/2019'}
]
快到了! 但我不知道如何將鍵和值更改為階段和日期。 有人可以幫我嗎?
實際上,您可以重命名鍵和值參數名稱:
var array = Object.entries(data).map(([phrase, date]) => ({phrase,date}));
嘗試在對象中添加標簽。
var data = { first: '12/1/2019', second: '12/15/2019' } var array = Object.entries(data).map(([key, value]) => ({ phase: key, date: value })) console.log(array)
您幾乎可以嘗試添加鍵以返回對象
var data = { first: '12/1/2019', second: '12/15/2019' } var array = Object.entries(data).map(([key, value]) => ({ phase: key, date: value })); console.log(array)
您可以在Object.keys()
上使用map()
Object.keys()
var data = {first: '12/1/2019', second: '12/15/2019'} let arr = Object.keys(data).map(x => ({phase:x,date:data[x]})) console.log(arr)
您也可以使用Object.entries()
和map()
但為銷毀的參數指定不同的名稱
var data = {first: '12/1/2019', second: '12/15/2019'} let arr = Object.entries(data).map(([phase,date]) =>({phase,date})) console.log(arr)
首先通過Object.entries
從數據對象中提取key
(階段)和value
(日期),然后使用Array.reduce
累加並將新對象形成數組。
const data = {first: '12/1/2019', second: '12/15/2019'} const arr = Object.entries(data).reduce((acc, [phase, date]) => acc.concat({phase, date}), []); console.log(arr);
嘗試使用for ... in以下解決方案迭代對象的所有非符號可枚舉屬性。
const data = { first: '12/1/2019', second: '12/15/2019' }; const dataset = []; for (const key in data) { if (data.hasOwnProperty(key)) { const element = data[key]; dataset.push({ phase: key, date: element }); } } console.log(dataset);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.