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