[英]From array to complex string format in JavaScript
I currently have a function which returns this array: 我目前有一个返回此数组的函数:
var myArray = [
{ Sepal_Width: { Average_Sepal_Width: series => series.average() } },
{ Sepal_Width: { Sum_Sepal_Width: series => series.sum() } },
{ Petal_Length: { Average_Petal_Length: series => series.average() } }
]
But I need the output to look like this: 但我需要输出看起来像这样:
Sepal_Width: {
Average_Sepal_Width: series => series.average(),
Sum_Sepal_Width: series => series.sum()
},
Petal_Length: {
Average_Petal_Length: series => series.average()
}
I'm just wondering if this is even possible, as I need to account for the user adding additional lines to the original array like { Petal_Length: Sum_Petal_Length: series => series.sum() }}
and have this automatically go within the Petal_Length: {}. 我只是想知道这是否可能,因为我需要考虑用户在原始数组中添加额外的行,如
{ Petal_Length: Sum_Petal_Length: series => series.sum() }}
并自动进入Petal_Length :{}。
Sepal_Width: {
Average_Sepal_Width: series => series.average(),
Sum_Sepal_Width: series => series.sum()
},
Petal_Length: {
Average_Petal_Length: series => series.average() },
Sum_Petal_Length: series => series.sum() }
}
You could get the first key and assign the values to the given key at the result object. 您可以获取第一个键并将值分配给结果对象的给定键。
var array = [{ Sepal_Width: { Average_Sepal_Width: series => series.average() } }, { Sepal_Width: { Sum_Sepal_Width: series => series.sum() } }, { Petal_Length: { Average_Petal_Length: series => series.average() } }], result = array.reduce((r, o) => { Object.entries(o).forEach(([k, v]) => Object.assign(r[k] = r[k] || {}, v)); return r; }, {}); console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.