#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];
});