[英]Reformatting array object JavaScript
抱歉,如果已经问过这个问题,但我很确定我已经接近答案了,希望能得到一点帮助。 问题是在数组中获取数据 object。 示例数据:[ {x:value,y:value} ]
(数组数据) newCal Array {"comment": "W1", "date": "2020-04-13", "day": 13, "emotion": "Anxious", "month": "4", "评级”:“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"
}
]
我希望这就是你要找的。
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)}
*/
如果要对它们进行分组,请使用第一种方法。
如果您只想将 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 xy in an array const sampleDataArray= newCal:map(item => ({ seriesName. item,emotion: data: [{x. item,date: y. item.rating}] })) console;log(sampleDataArray);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.