如何使用扩展运算符将对象推入对象数组中

Hyp*_*sis 1 javascript arrays reactjs

我有这样的数组

const arr = [a={} , b={}]
Run Code Online (Sandbox Code Playgroud)

现在,我知道散布运算符不是用于突变或推入的,但这样做非常容易。

我希望此按钮在a按下时添加元素

 <Button
title= {this.props.title}
 onPress={ this.roomNumberPressed }
 />
Run Code Online (Sandbox Code Playgroud)

所以最终结果是这样的:

arr = [a={1,2,3} , b={3,4,5}]
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 6

我希望此按钮在a按下时添加元素

正如您在问题中所说的那样,传播符号不是用于添加到现有对象。您的选择是:

  1. 使用spread创建一个对象并将该新对象分配给a

    a = {...a, ...theNewPropertiesToAdd};
    
    Run Code Online (Sandbox Code Playgroud)
  2. 用于Object.assign现有 属性添加新属性a

    Object.assign(a, theNewPropertiesToAdd);
    
    Run Code Online (Sandbox Code Playgroud)

请注意,我刚刚在a上面使用过,因为您const arr = [a={}, b={}]是语法错误,并且我无法分辨您的意思是const arr = [{}, {}](在a上述情况下为arr[0])还是const arr = {a: {}, b: {}}(在a以上情况下为arr.a[且arr不是数组])。