I have like 1 hour trying to do the next exercice, so I get looked and I was wondering If someone can help me with this.
Here is the array that I get from the Database Base Array Image
let response =
[{
"name": "October : 2019",
"userName": "Katherine Diaz",
"newCases": 875,
"recover": 8
},
{
"name": "December : 2019",
"userName": "Katherine Diaz",
"newCases": 503,
"recover": 38
},
{
"name": "November : 2019",
"userName": "Katherine Diaz",
"newCases": 227,
"recover": 14
},
{
"name": "November : 2019",
"userName": "Belyini Cabral",
"newCases": 19,
"recover": 14
},
{
"name": "January : 2020",
"userName": "Katherine Diaz",
"newCases": 272,
"recover": 123
},
{
"name": "October : 2019",
"userName": "Belyini Cabral",
"newCases": 287,
"recover": 1
},
{
"name": "October : 2019",
"userName": "N/A",
"newCases": 3,
"recover": 0
},
{
"name": "January : 2020",
"userName": "Mercedes Perez",
"newCases": 65,
"recover": 0
},
{
"name": "February : 2020",
"userName": "N/A",
"newCases": 76,
"recover": 0
},
{
"name": "December : 2019",
"userName": "N/A",
"newCases": 136,
"recover": 0
},
{
"name": "November : 2019",
"userName": "Mercedes Perez",
"newCases": 15,
"recover": 0
},
{
"name": "January : 2020",
"userName": "N/A",
"newCases": 299,
"recover": 0
},
{
"name": "December : 2019",
"userName": "Mercedes Perez",
"newCases": 44,
"recover": 0
},
{
"name": "October : 2019",
"userName": "Mercedes Perez",
"newCases": 323,
"recover": 0
},
{
"name": "December : 2019",
"userName": "Belyini Cabral",
"newCases": 0,
"recover": 11
},
{
"name": "January : 2020",
"userName": "Belyini Cabral",
"newCases": 0,
"recover": 11
},
{
"name": "February : 2020",
"userName": "Mercedes Perez",
"newCases": 0,
"recover": 20
},
{
"name": "February : 2020",
"userName": "Belyini Cabral",
"newCases": 0,
"recover": 9
},
{
"name": "February : 2020",
"userName": "Katherine Diaz",
"newCases": 0,
"recover": 43
}
]
I would like to have like this... I have some (Math.round...) functions just to generate random data to test with a dashboard that I want to fill.
let premiere = [
{
name : 'October',
user : ['Katherine Diaz', 'Belyini Cabral', 'Mercedes Perez', 'N/A'],
newCases : [
Math.round(Math.random()*1000),
Math.round(Math.random()*1000),
Math.round(Math.random()*1000),
Math.round(Math.random()*1000)
],
recovered :[
Math.round(Math.random()*800),
Math.round(Math.random()*800),
Math.round(Math.random()*800),
Math.round(Math.random()*800)
],
monthRecovered : Math.round(Math.random()*800),
monthNewCases : Math.round(Math.random()*1000)
},
{
name : 'November',
user : ['Katherine Diaz', 'Belyini Cabral', 'Mercedes Perez', 'N/A'],
newCases : [
Math.round(Math.random()*1000),
Math.round(Math.random()*1000),
Math.round(Math.random()*1000),
Math.round(Math.random()*1000)
],
recovered :[
Math.round(Math.random()*800),
Math.round(Math.random()*800),
Math.round(Math.random()*800),
Math.round(Math.random()*800)
],
monthRecovered : Math.round(Math.random()*800),
monthNewCases : Math.round(Math.random()*1000)
},
{
name : 'December',
user : ['Katherine Diaz', 'Belyini Cabral', 'Mercedes Perez', 'N/A'],
newCases : [
Math.round(Math.random()*1000),
Math.round(Math.random()*1000),
Math.round(Math.random()*1000),
Math.round(Math.random()*1000)
],
recovered :[
Math.round(Math.random()*800),
Math.round(Math.random()*800),
Math.round(Math.random()*800),
Math.round(Math.random()*800)
],
monthRecovered : Math.round(Math.random()*800),
monthNewCases : Math.round(Math.random()*1000)
},
{
name : 'January',
user : ['Katherine Diaz', 'Belyini Cabral', 'Mercedes Perez', 'N/A'],
newCases : [
Math.round(Math.random()*1000),
Math.round(Math.random()*1000),
Math.round(Math.random()*1000),
Math.round(Math.random()*1000)
],
recovered :[
Math.round(Math.random()*800),
Math.round(Math.random()*800),
Math.round(Math.random()*800),
Math.round(Math.random()*800)
],
monthRecovered : Math.round(Math.random()*800),
monthNewCases : Math.round(Math.random()*1000)
},
{
name : 'February',
user : ['Katherine Diaz', 'Belyini Cabral', 'Mercedes Perez', 'N/A'],
newCases : [
Math.round(Math.random()*1000),
Math.round(Math.random()*1000),
Math.round(Math.random()*1000),
Math.round(Math.random()*1000)
],
recovered :[
Math.round(Math.random()*800),
Math.round(Math.random()*800),
Math.round(Math.random()*800),
Math.round(Math.random()*800)
],
monthRecovered : Math.round(Math.random()*800),
monthNewCases : Math.round(Math.random()*1000)
}
];
As I see It, it's a little be advanced for me, I think I need more knowledge of data structures in this language, don't need to tell me the whole solution just where to start and some steps.
You could take an object for grouping and get the values from it as array of objects.
var response = [{ name: "October : 2019", userName: "Katherine Diaz", newCases: 875, recover: 8 }, { name: "December : 2019", userName: "Katherine Diaz", newCases: 503, recover: 38 }, { name: "November : 2019", userName: "Katherine Diaz", newCases: 227, recover: 14 }, { name: "November : 2019", userName: "Belyini Cabral", newCases: 19, recover: 14 }, { name: "January : 2020", userName: "Katherine Diaz", newCases: 272, recover: 123 }, { name: "October : 2019", userName: "Belyini Cabral", newCases: 287, recover: 1 }, { name: "October : 2019", userName: "N/A", newCases: 3, recover: 0 }, { name: "January : 2020", userName: "Mercedes Perez", newCases: 65, recover: 0 }, { name: "February : 2020", userName: "N/A", newCases: 76, recover: 0 }, { name: "December : 2019", userName: "N/A", newCases: 136, recover: 0 }, { name: "November : 2019", userName: "Mercedes Perez", newCases: 15, recover: 0 }, { name: "January : 2020", userName: "N/A", newCases: 299, recover: 0 }, { name: "December : 2019", userName: "Mercedes Perez", newCases: 44, recover: 0 }, { name: "October : 2019", userName: "Mercedes Perez", newCases: 323, recover: 0 }, { name: "December : 2019", userName: "Belyini Cabral", newCases: 0, recover: 11 }, { name: "January : 2020", userName: "Belyini Cabral", newCases: 0, recover: 11 }, { name: "February : 2020", userName: "Mercedes Perez", newCases: 0, recover: 20 }, { name: "February : 2020", userName: "Belyini Cabral", newCases: 0, recover: 9 }, { name: "February : 2020", userName: "Katherine Diaz", newCases: 0, recover: 43 }],
result = Object.values(response.reduce((object, { name, userName, newCases, recover }) => {
if (!object[name]) object[name] = { name, user: [], newCases: [], recovered: [] };
object[name].user.push(userName);
object[name].newCases.push(newCases);
object[name].recovered.push(recover);
return object;
}, {}));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments