5 回答

TA貢獻1779條經驗 獲得超6個贊
這非常簡單,您只需使用.map
var series1 = dataOverview.map(x => x.series1);
var series2 = dataOverview.map(x => x.series2);
var categories = dataOverview.map(x => x.timestamp);

TA貢獻1830條經驗 獲得超3個贊
假設將其dataOverview定義為數據屬性,例如:
data(){
return {
dataOverview:[...]
}
}
和應該定義為計算屬性,如下所示series:chartOptions
computed:{
series(){
let _series=[
{
name:'series1',
data: this.dataOverview.map(item=>item.series1)
},
{
name:'series2',
data: this.dataOverview.map(item=>item.series2)
}
]
return _series;
},
chartOptions(){
return {
//...
// some options
//...
xaxis: {
type: "datetime",
categories: this.dataOverview.map(item=>item.timestamp)
},
//...
// some options
//...
}
}
}
編輯
您在以下方面遇到反應性問題:
this.chartOptions.xaxis.categories = this.dataOverview.map(
({ timeStamp }) => timeStamp
);
它應該是 :
let xaxis = { ...this.chartOptions.xaxis, categories: this.dataOverview.map(
({ timeStamp }) => timeStamp
) }
this.chartOptions = { ...this.chartOptions, ...{ xaxis: xaxis } }

TA貢獻1848條經驗 獲得超10個贊
var series = [
{
name: "series1",
data: dataOverview.map(({series1}) => series1)
},
{
name: "series2",
data: dataOverview.map(({series2}) => series2)
}
]
var timeStamp = dataOverview.map(({timestamp}) => timestamp);

TA貢獻1744條經驗 獲得超4個贊
使用數組的map方法。
const dataOverview = [{
? ? id: 1,
? ? series1: 31,
? ? series2: 11,
? ? timestamp: "2018-09-19T00:00:00.000Z"
? },
? {
? ? id: 2,
? ? series1: 40,
? ? series2: 32,
? ? timestamp: "2018-09-19T03:30:00.000Z"
? },
? {
? ? id: 3,
? ? series1: 28,
? ? series2: 45,
? ? timestamp: "2018-09-19T06:30:00.000Z"
? },
? {
? ? id: 4,
? ? series1: 51,
? ? series2: 32,
? ? timestamp: "2018-09-19T09:30:00.000Z"
? },
? {
? ? id: 5,
? ? series1: 42,
? ? series2: 34,
? ? timestamp: "2018-09-19T11:30:00.000Z"
? }
];
var series1 = dataOverview.map(({ series1 }) => series1);
var series2 = dataOverview.map(({ series2 }) => series2);
var timeStamp = dataOverview.map(({ timestamp }) => timestamp);
console.log(series1, series2, timeStamp);

TA貢獻1963條經驗 獲得超6個贊
使用地圖:
const seriesOne = dataOverview.map(el => el.series1);
const seriesTwo = dataOverview.map(el => el.series2);
const series = [
{ name: 'series1', data: seriesOne},
{name: 'series2', data: seriesTwo}
]
console.log(series);
添加回答
舉報