I have an array as such
const arr = [a={} , b={}]
Now I know the spread operator is not for mutation or pushing but it is very easy to do so with.
I want this button to add elements to a when it's pressed 
 <Button
title= {this.props.title}
 onPress={ this.roomNumberPressed }
 />
so the end results be something like :
arr = [a={1,2,3} , b={3,4,5}]
                I want this button to add elements to
awhen it's pressed
As you said in your question, spread notation isn't for adding to existing objects. Your options are:
Use spread to create a new object and assign that new object to a:
a = {...a, ...theNewPropertiesToAdd};
Use Object.assign to add new properties to the existing a:
Object.assign(a, theNewPropertiesToAdd);
Note I've just used a above because your const arr = [a={}, b={}] is a syntax error, and I can't tell whether you mean const arr = [{}, {}] (in which case a above is arr[0]), or const arr = {a: {}, b: {}} (in which case a above is arr.a [and arr isn't an array]).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With