在 ES6 中追加对象?

Man*_*dav 2 javascript reactjs react-native asyncstorage

在我的本机应用程序中,我在本地存储了一个对象并检索了它,工作正常,但现在我想将另一个对象附加到前一个对象,就像我有两个对象:

    const obj1 = {key1: keyone, key2: keytwo}
    const obj2 = {key4: keyfour, key6: keysix}
Run Code Online (Sandbox Code Playgroud)

我想要的只是一个对象

    { key1: keyone, key2: keytwo }, { key4: keyfour, key6: keysix }
Run Code Online (Sandbox Code Playgroud)

我试图这样做:

    const newVal = `${obj1}, ${obj2}`
Run Code Online (Sandbox Code Playgroud)

返回“对象对象”

我经历了 Object.assign() 和 lodash 的 .merge() 功能,但似乎它们正在合并对象中的公共字段。

我如何实现这一目标?

Piy*_*ani 12

1.如果你想要一个对象数组,那么你可以使用这种方法:

const arr = [obj1, obj2];
Run Code Online (Sandbox Code Playgroud)

它将为您提供以下结果:

[{ key1: keyone, key2: keytwo }, { key4: keyfour, key6: keysix }] 
Run Code Online (Sandbox Code Playgroud)

2.如果你想拥有对象的对象,那么你可以试试这个:

const arr = {obj1, obj2};
Run Code Online (Sandbox Code Playgroud)

这导致以下结果:

{ obj1: { key1: keyone, key2: keytwo }, obj2: { key4: keyfour, key6: keysix }} 
Run Code Online (Sandbox Code Playgroud)

3.如果你想要一个单一的对象,你可以试试这个:

const arr = {...obj1, ...obj2};
Run Code Online (Sandbox Code Playgroud)

将产生以下结果:

 { key1: keyone, key2: keytwo, key4: keyfour, key6: keysix }
Run Code Online (Sandbox Code Playgroud)

  • 我相信你的第二个例子是错误的。结果将是:{ obj1: { key1: keyone, key2: keytwo }, obj2: { key4: keyfour, key6: keysix }} (2认同)