如何在 JavaScript/Nodejs 中動態地將相同的鍵 JavaScript 物件組合到一個陣列中,并將給定的輸入生成到預期的輸出,
請幫我解決這個問題。那真的很有幫助。
例子 -
[
{
1: { date: 1638334800, value: 0 },
2: { date: 1638334800, value: 19.71 }
nth: { date: 1638334800, value: 19.71 }
},
{
1: { date: 1638334900, value: 0 },
2: { date: 1638334800, value: 23.77 }
nth: { date: 1638334800, value: 29.71 }
}
]
預期產出 -
1: {
timeSeriesData: [
{
date: 1638334800,
value: 0,
},
{
date: 1638334900,
value: 0,
}
], units: '%'
},
2: {
timeSeriesData: [
{
date: 1638334800,
value: 19.71,
},
{
date: 1638334800,
value: 19.71,
}
], units: '%'
},
nth: {
timeSeriesData: [
{
date: 1638334800,
value: 19.71,
},
{
date: 1638334800,
value: 29.71,
}
], units: '%'
}
uj5u.com熱心網友回復:
您可以迭代輸入資料的鍵。然后,如果您的結果中已經存在該鍵,則附加新值,否則使用結果中的第一個值創建一個陣列。
這是一個作業演示:
const sample = [
{
1: { date: 1638334800, value: 0 },
2: { date: 1638334800, value: 19.71 },
nth: { date: 1638334800, value: 19.71 }
},
{
1: { date: 1638334800, value: 0 },
2: { date: 1638334800, value: 23.77 },
nth: { date: 1638334800, value: 19.71 }
}
];
const generateOutput = (inputData) => {
const results = {};
inputData.forEach((dataSet) => {
Object.keys(dataSet).forEach((key) => {
if (results[key]) {
results[key].push(dataSet[key]);
} else {
results[key] = [dataSet[key]];
}
});
});
return results;
}
console.log(generateOutput(sample));
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/504563.html
標籤:javascript 节点.js 数组 目的 ecmascript-6
