如果这个问题已经被问过了,我很抱歉,但我很确定我已经接近答案了,希望能得到一点帮助。问题在于将数据对象放入数组中。示例数据:{x:value,y:value}
(数组数据) newCal数组{"comment":"W1","date":"2020-04-13","day":13,"emotion":“焦虑”,“月份”:"4","rating":"10","rowid":4}
//expected output
[
{
seriesName: 'emotion',
data: [
{x: 'date', y: rating},
{x: 'date', y: rating},
],
},
{
seriesName: 'emotion',
data: [
{x: 'date', y: rating},
{x: 'date', y: rating},
],
},
];//code
let sampleData= this.state.newCal.map(item => {
const container = {};
const container1 = {};
container.seriesName = item.emotion;
container1.x = item.date;
container1.y = item.rating;
container.data = container1;
return container;
})
console.log(usersByLikes);//output
[
{
"data":
{"x": "2020-04-13", "y": "10"},
"seriesName": "Anxious"
},
{
"data":
{"x": "2020-04-13", "y": "10"},
"seriesName": "Emotional"
}
]发布于 2020-04-14 12:52:48
我希望这就是你要找的。
const item = [{
seriesName: 'emotion',
date: '18-1-1995',
rating: '5'
},
{
seriesName: 'hey',
date: '20-20-2020',
rating: '3'
},
{
seriesName: 'cool',
date: '10-10-2010',
rating: '3'
},
]
let sampleData = item.map(item => {
const container = {
seriesName: item.seriesName,
data: [{
x: item.date,
y: item.rating
}]
}
return container
})
console.log(sampleData)
/*
0: {seriesName: "emotion", data: Array(1)}
1: {seriesName: "hey", data: Array(1)}
2: {seriesName: "cool", data: Array(1)}
*/发布于 2020-04-14 13:04:48
如果要对它们进行分组,请使用第一种方法。
如果你只想把x,y放入数组,使用第二种方法。
const newCal = [{"comment": "W1", "date": "2021-04-13", "day": 13, "emotion": "Anxious", "month": "4", "rating": "10", "rowid": 4}, {"comment": "W1", "date": "2022-04-13", "day": 13, "emotion": "Emotional", "month": "4", "rating": "10", "rowid": 4}, {"comment": "W1", "date": "2023-04-13", "day": 13, "emotion": "Anxious", "month": "4", "rating": "10", "rowid": 4},{"comment": "W1", "date": "2024-04-13", "day": 13, "emotion": "Anxious", "month": "4", "rating": "10", "rowid": 4},{"comment": "W1", "date": "2020-04-13", "day": 13, "emotion": "Emotional", "month": "4", "rating": "10", "rowid": 4},{"comment": "W1", "date": "2020-04-13", "day": 13, "emotion": "Anxious", "month": "4", "rating": "10", "rowid": 4},{"comment": "W1", "date": "2020-04-13", "day": 13, "emotion": "Anxious", "month": "4", "rating": "10", "rowid": 4},{"comment": "W1", "date": "2020-04-13", "day": 13, "emotion": "Emotional", "month": "4", "rating": "10", "rowid": 4},{"comment": "W1", "date": "2020-04-13", "day": 13, "emotion": "Anxious", "month": "4", "rating": "10", "rowid": 4}]
//first method to group data
const dataGroup ={}
newCal.forEach(item => {
if(!dataGroup[item.emotion]) dataGroup[item.emotion] = [];
dataGroup[item.emotion].push({x: item.date, y: item.rating})
})
const sampleData = [];
for (const [key, value] of Object.entries(dataGroup)) {
sampleData.push({
seriesName: key,
data: value
})
}
console.log(sampleData)
//second method just put x,y data in array
//if you just want to put x,y in an array
const sampleDataArray= newCal.map(item => ({
seriesName: item.emotion,
data: [{x: item.date, y: item.rating}]
}))
console.log(sampleDataArray);
https://stackoverflow.com/questions/61200782
复制相似问题