我正在将多个数据提取到数组中。现在我想将数组组合在一起并将它们与其符号键合并。 这个想法是将其输出到这样的表格中以比较不同的价格:
Name|Price1|Price2|Price3|
CAT | 10 | 20 | 15 |
DOG | 15 | 25 | 13 |
etc |.. |..
数组的格式如下:
数组 1:
[
{
"symbol": "CAT",
"price": "10"
},
{
"symbol": "DOG ",
"price": "15"
}
]
数组2:
[
{
"symbol": "CAT",
"price": "20"
},
{
"symbol": "DOG ",
"price": "25"
}
]
数组3:
[
{
"symbol": "CAT",
"price": "15"
},
{
"symbol": "DOG ",
"price": "13"
}
]
我的尝试:
var combine = Object.entries(array1, array2, array3)
.map((k, v) => {
Object.assign(
{ symbol: k.symbol },
{ price: v.price }
)
})
如何使用 ES6 实现此目的?
最佳答案
如果您只是寻找一种方法将此数据转换为更有用的格式,则可以使用以下函数:
{CAT: [10, 20, 15], DOG: [15, 25, 13]}
然后您可以使用它来创建您的表。如果您正在寻求将其转换为显示格式的帮助,请在此处进行说明或提出其他问题。
const makeTable = (...data) => data.reduce(
(tbl, arr) => arr.reduce(
(tbl, {price, symbol}) =>
((tbl[symbol] || (tbl[symbol] = [])).push(price), tbl),
tbl
), {}
)
const arr1 = [{"price": "10", "symbol": "CAT"}, {"price": "15", "symbol": "DOG "}]
const arr2 = [{"price": "20", "symbol": "CAT"}, {"price": "25", "symbol": "DOG "}]
const arr3 = [{"price": "15", "symbol": "CAT"}, {"price": "13", "symbol": "DOG "}]
console.log(makeTable(arr1, arr2, arr3))
关于javascript - 将数组和键合并在一起以进行表输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50275295/