-2

I have an array of objects like this:

"data":
[
{"name":"Jane Doe",
"age":28,
"title":"Manager"
},
{"name":"James Brown",
"age":20,
"title":"Intern"
},
{"name":"Irene Vargas",
"age":35,
"title":"Accountant"
},
]

and I have a separate array of objects:

[
{"experience": "7 years",
"hobby": "Music"
},
{"experience": "6 months",
"hobby": "Video games"
},
{"experience": "15 years",
"hobby": "Skydiving"
},
]

How do I add values from 2nd array to the first one, result should be like this:

"data":
[
{"name":"Jane Doe",
"age":28,
"title":"Manager",
"experience": "7 years",
"hobby": "Music"
},
{"name":"James Brown",
"age":20,
"title":"Intern",
"experience": "6 months",
"hobby": "Video games"
},
{"name":"Irene Vargas",
"age":35,
"title":"Accountant",
"experience": "15 years",
"hobby": "Skydiving"
},
]

I can't figure out how to add values from the 2nd array separately to the 1st array, any help and advise is greatly appreciated.

alia
  • 168
  • 1
  • 3
  • 15
  • 3
    So you want to [combine objects index by index](//google.com/search?q=site%3Astackoverflow.com+js+combine+objects+index+by+index). Familiarize yourself with [how to access and process nested objects, arrays or JSON](/q/11922383/4642212) and how to [create objects](//developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/Object_initializer) and use the available static and instance methods of [`Array`](//developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array#Static_methods). – Sebastian Simon Sep 30 '21 at 02:10

1 Answers1

0

Loop through arr1 and use Object.assign to assign the properties of the item in the same index in the other array to the current item:

const arr1=[{name:"Jane Doe",age:28,title:"Manager"},{name:"James Brown",age:20,title:"Intern"},{name:"Irene Vargas",age:35,title:"Accountant"}],arr2=[{experience:"7 years",hobby:"Music"},{experience:"6 months",hobby:"Video games"},{experience:"15 years",hobby:"Skydiving"}];

arr1.forEach((e,i) => Object.assign(e, arr2[i]))

console.log(arr1)
Spectric
  • 30,714
  • 6
  • 20
  • 43