I need to obtain from a given array of objects another array of objects but a little bit processed. Example:
var arr = [
{
"level": "INF",
"model": "A"
},{
"level": "INF",
"model": "B"
},{
"level": "INF",
"model": "C"
},{
"level": "INC",
"model": "A"
},{
"level": "IND",
"model": "A"
},{
"level": "IND",
"model": "B"
}
]
process_array(arr)
should return:
[{
"level": "INF",
"model": "A-B-C"
},{
"level": "INC",
"model": "A"
},{
"level": "IND",
"model": "A-D"
}]
I mean, there only will be one object per different level and all the different models for that level will be concatenated by '-'.
What would be an easy way to achieve so?
My approach, for getting an array with different levels:
function process_array(array) {
var values_seen = {}; // for removing duplicates
for (var i = 0; i < array.length; i++) {
values_seen[array[i]["level"]] = true;
}
return Object.keys(values_seen);
}
Now i need to obtain the concatented models for each levels..