将一组对象传播到父对象中

jos*_*ant 8 javascript

是否有一种简单的方法可以使用扩展...运算符将对象数组与另一个对象组合以创建单个对象?这个例子展示了我想要完成的事情:

const arrayOfObjects = [
  { x: 'foo' },
  { y: 'bar' }
];

const obj = {
  hello: 'world'
};
Run Code Online (Sandbox Code Playgroud)

我正在寻找的输出如下:

{
  x: 'foo',
  y: 'bar',
  hello: 'world'
}
Run Code Online (Sandbox Code Playgroud)

除了其他方面,我尝试了以下内容,但它并没有完全给出预期的输出.

{
  hello: 'world'
  ...arrayOfObjects
}

// Gives
{
  0: { x: 'foo' },
  1: { y: 'bar' },
  hello: 'world'
};
Run Code Online (Sandbox Code Playgroud)

聪明地使用扩展运算符是否可以做到这一点?

Nen*_*car 20

您可以使用Object.assign()扩展语法...

const arrayOfObjects = [{
  x: 'foo'
}, {
  y: 'bar'
}];

const obj = {
  hello: 'world'
};

var result = Object.assign({}, obj, ...arrayOfObjects);
console.log(result)
Run Code Online (Sandbox Code Playgroud)


pat*_*ato 5

你可以使用 Object.assign();

Object.assign(obj, ...arrayOfObjects)
Run Code Online (Sandbox Code Playgroud)

此选项将改变对象 obj 而不是创建新实例。