Here is my input JSON
[
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 21052631.657999996,
"rendered": "21.05M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 505567,
"rendered": "505.57K",
"filterable_value": "505567.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "XYZ"
},
"qty": {
"value": 33796589.61000001,
"rendered": "33.80M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 1638886.7959999999,
"rendered": "1.64M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 1227540.6669999997,
"rendered": "1.23M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "MILLIIJK"
},
"qty": {
"value": 624,
"rendered": "624",
"filterable_value": "624.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "USP"
},
"qty": {
"value": 19.326,
"rendered": "19.3"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 656562.255,
"rendered": "656.56K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 882010439.286,
"rendered": "882.01M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "XYZ"
},
"qty": {
"value": 56100,
"rendered": "56.10K",
"filterable_value": "56100.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 63277400.964,
"rendered": "63.28M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 100239.551,
"rendered": "100.24K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "MNO"
},
"qty": {
"value": 46763.176999999996,
"rendered": "46.76K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "THOUSAND PIECES"
},
"qty": {
"value": 52889941.824999996,
"rendered": "52.89M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "rest"
},
"qty": {
"value": 42168373.635000005,
"rendered": "42.17M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 176340,
"rendered": "176.34K",
"filterable_value": "176340.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 187727583.97800002,
"rendered": "187.73M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 33154.707,
"rendered": "33.15K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 1079,
"rendered": "1.08K",
"filterable_value": "1079.0"
}
}
]
I need to transform json w.r.t parent category and what ever child json elements w.r.t parent to be in one format. All should be dynamic no hard coding comparing with strings.
Need to transform my input json to below sampleformat,
[
{
"Choclate": [
{
null: [
{
"2022-05-01": {
"value": 21052631.657999996
}
},
{
"2022-04-24":{
"value": 505765
}
}
]
},
{
"ABC": [
{
"2022-05-01": {
"value": 505567
}
}
]
},
{
"XYZ": [
{
"2021-11-09": {
"value": 33796589.61000001
}
},
{
"2022-09-08": {
"value": 8000
}
}
]
}
]
},
{
"Drink":[
{
"ABC": [
{
"2022-05-01": {
"value": 882010439.286
}
}
]
},
{
"XYZ": [
{
"2022-05-01": {
"value":56100
}
}
]
}
]
}
]
I tried separating parents and child values in an array and loop it and push. But not succeeded. Please suggest me how can i transform my input json to required output json format.
const data =[
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 21052631.657999996,
"rendered": "21.05M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 505567,
"rendered": "505.57K",
"filterable_value": "505567.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "XYZ"
},
"qty": {
"value": 33796589.61000001,
"rendered": "33.80M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 1638886.7959999999,
"rendered": "1.64M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 1227540.6669999997,
"rendered": "1.23M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "MILLIIJK"
},
"qty": {
"value": 624,
"rendered": "624",
"filterable_value": "624.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "USP"
},
"qty": {
"value": 19.326,
"rendered": "19.3"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 656562.255,
"rendered": "656.56K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 882010439.286,
"rendered": "882.01M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "XYZ"
},
"qty": {
"value": 56100,
"rendered": "56.10K",
"filterable_value": "56100.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 63277400.964,
"rendered": "63.28M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 100239.551,
"rendered": "100.24K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "MNO"
},
"qty": {
"value": 46763.176999999996,
"rendered": "46.76K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "THOUSAND PIECES"
},
"qty": {
"value": 52889941.824999996,
"rendered": "52.89M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "rest"
},
"qty": {
"value": 42168373.635000005,
"rendered": "42.17M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 176340,
"rendered": "176.34K",
"filterable_value": "176340.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 187727583.97800002,
"rendered": "187.73M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 33154.707,
"rendered": "33.15K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 1079,
"rendered": "1.08K",
"filterable_value": "1079.0"
}
}
];
let uniqueparent = [...new Set(data.map(item => item['parent']['value']))];
let uniquechild = [...new Set(data.map(item => item['child']['value']))];
console.log(uniqueparent);
console.log(uniquechild);
But from here, am not getting any idea how to transform my data into my desired json
CodePudding user response:
What you most likely need is to build a tree. Very simple example with arrays is here: https://typeofnan.dev/an-easy-way-to-build-a-tree-with-object-references/
If you want to work with such structure in more powerful way, you can think about creating class Node that have "data", "children" and "parent" variables and then have some Tree class/functionality, that can work with Nodes to add/remove elements, trace them, print them in desired way etc.
CodePudding user response:
This is prefect for me:
const data = [
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 21052631.657999996,
"rendered": "21.05M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 505567,
"rendered": "505.57K",
"filterable_value": "505567.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "XYZ"
},
"qty": {
"value": 33796589.61000001,
"rendered": "33.80M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 1638886.7959999999,
"rendered": "1.64M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 1227540.6669999997,
"rendered": "1.23M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "MILLIIJK"
},
"qty": {
"value": 624,
"rendered": "624",
"filterable_value": "624.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "USP"
},
"qty": {
"value": 19.326,
"rendered": "19.3"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 656562.255,
"rendered": "656.56K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 882010439.286,
"rendered": "882.01M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "XYZ"
},
"qty": {
"value": 56100,
"rendered": "56.10K",
"filterable_value": "56100.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 63277400.964,
"rendered": "63.28M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 100239.551,
"rendered": "100.24K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "MNO"
},
"qty": {
"value": 46763.176999999996,
"rendered": "46.76K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "THOUSAND PIECES"
},
"qty": {
"value": 52889941.824999996,
"rendered": "52.89M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "rest"
},
"qty": {
"value": 42168373.635000005,
"rendered": "42.17M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 176340,
"rendered": "176.34K",
"filterable_value": "176340.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 187727583.97800002,
"rendered": "187.73M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 33154.707,
"rendered": "33.15K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 1079,
"rendered": "1.08K",
"filterable_value": "1079.0"
}
}
];
const formattedData = data.reduce((result, el) => {
const parentName = el.parent.value;
const childName = el.child.value;
const dateValue = el.date.value;
if (!result[parentName]) result[parentName] = {};
const parent = result[parentName];
if (!parent[childName]) parent[childName] = {};
const child = parent[childName];
if (!child[dateValue]) child[dateValue] = el.qty.value;
return result;
}, {});
console.log(formattedData);
This is what I suggest to you if you really need an object in "date"
property:
const data = [
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 21052631.657999996,
"rendered": "21.05M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 505567,
"rendered": "505.57K",
"filterable_value": "505567.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "XYZ"
},
"qty": {
"value": 33796589.61000001,
"rendered": "33.80M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 1638886.7959999999,
"rendered": "1.64M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 1227540.6669999997,
"rendered": "1.23M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "MILLIIJK"
},
"qty": {
"value": 624,
"rendered": "624",
"filterable_value": "624.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "USP"
},
"qty": {
"value": 19.326,
"rendered": "19.3"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 656562.255,
"rendered": "656.56K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 882010439.286,
"rendered": "882.01M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "XYZ"
},
"qty": {
"value": 56100,
"rendered": "56.10K",
"filterable_value": "56100.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 63277400.964,
"rendered": "63.28M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 100239.551,
"rendered": "100.24K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "MNO"
},
"qty": {
"value": 46763.176999999996,
"rendered": "46.76K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "THOUSAND PIECES"
},
"qty": {
"value": 52889941.824999996,
"rendered": "52.89M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "rest"
},
"qty": {
"value": 42168373.635000005,
"rendered": "42.17M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 176340,
"rendered": "176.34K",
"filterable_value": "176340.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 187727583.97800002,
"rendered": "187.73M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 33154.707,
"rendered": "33.15K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 1079,
"rendered": "1.08K",
"filterable_value": "1079.0"
}
}
];
const formattedData = data.reduce((result, el) => {
const parentName = el.parent.value;
const childName = el.child.value;
const dateValue = el.date.value;
if (!result[parentName]) result[parentName] = {};
const parent = result[parentName];
if (!parent[childName]) parent[childName] = {};
const child = parent[childName];
if (!child[dateValue]) child[dateValue] = {value: el.qty.value};
return result;
}, {});
console.log(formattedData);
This is what you actually want (There is also an result as in previous Code Snipept. You can get it by typing resultMap
instead of resultArr
at the end):
const data = [
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 21052631.657999996,
"rendered": "21.05M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 505567,
"rendered": "505.57K",
"filterable_value": "505567.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "XYZ"
},
"qty": {
"value": 33796589.61000001,
"rendered": "33.80M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 1638886.7959999999,
"rendered": "1.64M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 1227540.6669999997,
"rendered": "1.23M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "MILLIIJK"
},
"qty": {
"value": 624,
"rendered": "624",
"filterable_value": "624.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Choclate"
},
"child": {
"value": "USP"
},
"qty": {
"value": 19.326,
"rendered": "19.3"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 656562.255,
"rendered": "656.56K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 882010439.286,
"rendered": "882.01M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "XYZ"
},
"qty": {
"value": 56100,
"rendered": "56.10K",
"filterable_value": "56100.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 63277400.964,
"rendered": "63.28M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 100239.551,
"rendered": "100.24K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "MNO"
},
"qty": {
"value": 46763.176999999996,
"rendered": "46.76K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "THOUSAND PIECES"
},
"qty": {
"value": 52889941.824999996,
"rendered": "52.89M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "Drink"
},
"child": {
"value": "rest"
},
"qty": {
"value": 42168373.635000005,
"rendered": "42.17M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": null,
"filterable_value": "EMPTY"
},
"qty": {
"value": 176340,
"rendered": "176.34K",
"filterable_value": "176340.0"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "ABC"
},
"qty": {
"value": 187727583.97800002,
"rendered": "187.73M"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "DEF"
},
"qty": {
"value": 33154.707,
"rendered": "33.15K"
}
},
{
"date": {
"value": "2022-05-01"
},
"parent": {
"value": "FOOD"
},
"child": {
"value": "IJK"
},
"qty": {
"value": 1079,
"rendered": "1.08K",
"filterable_value": "1079.0"
}
}
];
const formattedData = data.reduce((resultTypes, el) => {
const resultMap = resultTypes.resultMap;
const resultArr = resultTypes.resultArr;
const parentName = el.parent.value;
const childName = el.child.value;
const dateValue = el.date.value;
if (!resultMap[parentName]) {
resultMap[parentName] = {};
resultArr.push({[parentName]: []})
}
const parentInMap = resultMap[parentName];
const parentInArr = resultArr.find(parents => parents[parentName])[parentName];
if (!parentInMap[childName]) {
parentInMap[childName] = {};
parentInArr.push({[childName]: []})
}
const childInMap = parentInMap[childName];
const childInArr = parentInArr.find(children => children[childName])[childName];
if (!childInMap[dateValue]) {
childInMap[dateValue] = {value: el.qty.value};
childInArr.push({[dateValue]: {value: el.qty.value}});
}
return resultTypes;
}, {resultMap: {}, resultArr: []}).resultArr;
console.log(formattedData);