I have an array like below:
var search = [
{ code: "t1", name1: "n1", name2: "n2" },
{ code: "t1", name1: "n5", name2: "n6" },
{ code: "t2", name1: "n10", name2: "n11" },
{ code: "t2", name1: "n18", name2: "n20" },
{ code: "t3", name1: "n18", name2: "n20" },
];
I want to transform this array to the format below:
var finald = [
{ code: "t1", name1: "n1,n5", name2: "n2,n6" },
{ code: "t2", name1: "n10,n18", name2: "11,n20" },
{ code: "t3", name1: "n18", name2: "n20" },
];
I have tried this as below code. but no success.
First I gathered all unique codes from the array:
var flags = [];
var codes = [];
for(var z=0; z<search.length; z++){
if( flags[data[z].code]) continue;
flags[data[z].code] = true;
codes.push(data[z].code);
}
var finald = [];
for(var i=0; i<search.length; i++){
var name1 = [];
var name2 = [];
for(var y=0; y<codes.length; y++){
if(codes[y] == search[i].code ){
var row = {
code: codes[y],
name1:search[i].name1,
name2:search[i].name2,
};
finald.push(row);
}
}
}
Please Help.