I have 2 arrays based on the "Form_Name" key value to merge an array with added new key&value "isChecked".
Array One
arrayOne = [
{id: 11, Form_Name: "form name One", isChecked: true}
{id: 11, Form_Name: "form name Two", isChecked: true}];
Array Two
arrayTwo = [
{Form_Name: "form name One", Form_AddDate: "2019-05-15T11:03:18.05"}
{Form_Name: "form name Two", Form_AddDate: "2019-05-15T11:03:18.05"}
{Form_Name: "form name Three", Form_AddDate: "2019-05-15T11:03:18.05"}
{Form_Name: "form name Four", Form_AddDate: "2019-05-15T11:03:18.05"}];
Expected merged array
mergedArray = [
{Form_Name: "form name One", Form_AddDate: "2019-05-15T11:03:18.05", isChecked: true}
{Form_Name: "form name Two", Form_AddDate: "2019-05-15T11:03:18.05", isChecked: true}
{Form_Name: "form name Three", Form_AddDate: "2019-05-15T11:03:18.05", isChecked: false}
{Form_Name: "form name Four", Form_AddDate: "2019-05-15T11:03:18.05", isChecked: false}]
I tried like below
const mergedArray = [];
for (let i = 0; i < arrayTwo.length; i++) {
mergedArray.push({
...arrayTwo[i],
...(arrayOne.find((itmInner) => itmInner.Form_Name === arrayTwo[i].Form_Name))}
);
}
console.log('merged array result', mergedArray);