Как объединить два или более объектов, находящихся в массиве? Язык JavaScript

#javascript #arrays #json #object #join

Вопрос:

Я хочу объединить два объекта, которые находятся внутри массива:

 const test = [{name: ""}, {age: ""}, {nac: ""}];
 

Мне нужно, чтобы это выглядело так:

 const test2 = [{name: "", age: "", nac: ""}];
 

Я попытался с помощью: Object.assign (), но я не могу его получить.

Есть еще какие-нибудь идеи, которые я могу попробовать?

Ответ №1:

Вы можете использовать Object.assign с синтаксисом распространения.

 const test = [{name: ""}, {age: ""}, {nac: ""}];
const test2 = [Object.assign({}, ...test)];
console.log(test2); 

Ответ №2:

Вы можете использовать array.prototype.reduce функцию, которая будет полезна при сведении массива к одному значению. Я привел пример ниже

 const test = [{name: ""}, {age: ""}, {nac: ""}];
const reducer = (accumulator, currentValue) => {
  for (var key in currentValue) {
    accumulator[key] = currentValue[key];
  }
  return accumulator;
};

var finalObj = test.reduce(reducer, {});
console.log(finalObj);
console.log([finalObj]);