JSFiddle - React, Tailwind, and code Playground
by Alexey
JavaScript
var myArr = [{
"model": "Galaxy S2",
"screen_size": "5.5",
"Company": "Samsung",
}, {
"Company": "Samsung",
"model": "Galaxy S3",
"screen_size": "5.5"
}, {
"Company": "Samsung",
"model": "Galaxy S4",
"screen_size": "5.5"
}, {
"Company": "Xiaomi",
"model": "Redmi 2",
"screen_size": "4.7"
}, {
"Company": "Xiaomi",
"model": "Redmi 4",
"screen_size": "5"
}, {
"Company": "Xiaomi",
"model": "Redmi Note 4",
"screen_size": "5.5"
}],
result = Object.values(myArr.reduce((r, o) => {
r[o.Company] = r[o.Company] || {
'Company': o.Company,
'Models': []
};
/* r[o.Company]['Models'].push({
[o.model]: {
'screen_size': o.screen_size
}
}); */
return r;
}, {}));
console.log(result);