JavaScript
x
19
19
1
"sideCardInfo": {
2
"title": "Hospital Admission",
3
"reportTitle": "Hospital Admission Report",
4
"subTitle": "Per 1000 Members",
5
"dateFilter": [
6
{
7
"date": previousYearRange,
8
"value": calculateAverage(allInsightData.map(obj => Number(obj.hospital_admissions_cnt_py))),
9
},
10
{
11
"date": currentYearRange,
12
"value": calculateAverage(allInsightData.map(obj => Number(obj.hospital_admissions_cnt))),
13
}
14
],
15
"percentage": calculatePercentage( calculateAverage(allInsightData.map(obj => Number(obj.hospital_admissions_cnt_py))), calculateAverage(allInsightData.map(obj => Number(obj.hospital_admissions_cnt)))),
16
"tooltipText": ""
17
},
18
19
In the above object inside dateFilter for value i am using a calculateAverage function to get the value i need to pass the same value as parameter for calculatePercentage which is a value for percentage key in the same object how to store the calculateAverage at dateFilter and pass it to calculatePercentage so that i can avoid calculating average two times
Advertisement
Answer
To access the properties from within the object you can use getters.
JavaScript
1
23
23
1
const dataset = {
2
sideCardInfo: {
3
title: "Hospital Admission",
4
reportTitle: "Hospital Admission Report",
5
subTitle: "Per 1000 Members",
6
dateFilter: [
7
{
8
date: 1,
9
value: 1
10
},
11
{
12
date: 2,
13
value: 2
14
}
15
],
16
get percentage(){
17
return this.dateFilter[0].value + this.dateFilter[1].value;
18
},
19
tooltipText: ""
20
}
21
};
22
23
console.log(dataset.sideCardInfo.percentage);