我有以下 json 数据:
"Table":[
{
"AF":2000.00
"RegionNumber":1
"RegionName":"Black Sea"
},
{
"AF":100.00
"RegionNumber":1
"RegionName":"Black Sea"
},
{
"AF":15000.00
"RegionNumber":2
"RegionName":"Istanbul"
},
{
"AF":31000.00
"RegionNumber":1
"RegionName":"Black Sea"
},
{
"AF":11000.00
"RegionNumber":2
"RegionName":"Istanbul"
}
]
我想在 Javascript 中按以下格式排列数据。
series: [{
name: 'Black Sea',
data: [2000, 100, 31000],
stack: 'Bookings'
}, {
name: 'Istanbul',
data: [15000,11000,0],
stack: 'Bookings'
}]
我怎样才能完成这个转变?
最佳答案
这几乎满足您的要求,并且也使用 Ramda.js
const data = {
Table: [
{
AF: 2000,
RegionName: "Black Sea",
RegionNumber: 1
},
{
AF: 100,
RegionName: "Black Sea",
RegionNumber: 1
},
{
AF: 15000,
RegionName: "Istanbul",
RegionNumber: 2
},
{
AF: 31000,
RegionName: "Black Sea",
RegionNumber: 1
},
{
AF: 11000,
RegionName: "Istanbul",
RegionNumber: 2
}
]
}
const transfromTableData =
R.pipe(
R.groupBy(R.prop("RegionName")),
R.map(R.pluck("AF")),
R.toPairs,
R.map(R.zipObj(["name", "data"]))
)
const transfromData = (data) => ({
series: transfromTableData(data.Table)
})
console.log(transfromData(data))
<script src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.25.0/ramda.min.js"></script>
关于javascript - ASP.NET应用程序客户端读取Json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18077191/