I have two arrays in an object named "customData". The arrays names are "headings" and "tabularData".
I want to modify "tabularData" array objects such that each object has properties matching first 6 properties of "headings" array and an "id" property in "tabularData".
sample "customData" object-
{
headings: [{"id":"k1"},{"id":"k2"},...,{"id":"k6"}],
tabularData: [{"k1":"v11","k2":"v12",...,"id":1},{"k1":"v21":"k2":"v22",...,"id":2}]
}
Expected result should be -
[{"k1":"v11","k2":"v12",...,"k6":"v16","id":1},
{"k1":"v21","k2":"v22",...,"k6":"v26","id":2}]
My code-
let selectedHeadings = customData.headings.slice(0, 6);
let array = [];
let temp = {};
customData.tabularData.forEach((eachObj) => {
for (const [key, value] of Object.entries(eachObj)) {
if (
selectedHeadings.find((heading) => heading.id === key) ||
key === "id"
) {
temp[key] = value;
array.push(temp);
}
}
});
console.log(array);
Please help.