I have two objects. I am trying to do like :
var obj1 = {
abc_name: "Jack",
abc_age: 24
}
var obj2 = {
xyz_name: "Mike",
xyz_age: 22
}
Expected Output be like :
var obj = [{
fieldName: "Name",
abc_name: "Jack",
xyz_name: "Mike"
},
{
fieldName: "Age",
abc_age: 24,
xyz_age: 22
}]
I am trying with the nested for-in loop. But not getting expected results. Any better solution or idea ? Thanks in advance
One way to achieve this is Array.prototype.map
:
const obj1 = {
abc_name: "Jack",
abc_age: 24
}
const obj2 = {
xyz_name: "Mike",
xyz_age: 22
}
const obj = Object.entries(obj1).map(([k, v]) => {
const [, fieldname1] = k.split('_');
const [prefix2] = Object.keys(obj2)[0].split('_');
return {
fieldname: fieldname1[0].toUpperCase() + fieldname1.substring(1),
[k]: v,
[prefix2 + '_' + fieldname1]: obj2[prefix2 + '_' + fieldname1]
}
});
console.log(obj);