Как создать новый объект с помощью массива объектов и массива значений в JavaScript

#javascript #arrays #loops #object #nested

Вопрос:

Я хотел бы знать, как изменить массив объектов с массивом значений в JavaScript. У меня есть массив arr и вложенный объект nestobj , я хочу поместить значения arr в значение вложенного объекта

 
var arr =["xyz", "abc", "3", "str"];
var nestobj=[
  {field1: '' },
  {field2: '' },
  {field3: '' }
]


var result = nestobj.map(e=>{
   arr.map(i=>{
     e:i
  })
})
 

Ожидаемые результаты

 [
  {field1: 'xyz' },
  {field2: 'abc' },
  {field3: '3' }
]
 

Ответ №1:

Вы можете использовать Array#map с Object.keys .

 var arr =["xyz", "abc", "3", "str"];
var nestobj=[
  {field1: '' },
  {field2: '' },
  {field3: '' }
]
let res = nestobj.map((x, i)=>({[Object.keys(x)[0]]: arr[i]}));
console.log(res); 

Ответ №2:

 nestobj.map((element, index) => {
  element[`field${index 1}`] = arr[index];
});