Search code examples
javascriptecmascript-next

ES6 Object Spread concat


I am new to object spread. I just knew object spread can be used to concat arrays . In below example i am concatenating variable a and address key. I want to know can we add address key value to each object of a array and get output as Required Output in code.

Can any one help me good reference to learn more on Object Spread.

var a = [{
	'name':'jay',
  	age: 31
},
        {
	'name':'jay1',
  	age: 30
},
        {
	'name':'jay2',
  	age: 29
}];

var b = {...a, ...{address: 'add'}};

//b output

{name: "jay", age: 31}
{name: "jay1", age: 30}
{name: "jay2", age: 29}
address:"add"

// Required Output
{name: "jay", age: 31, address:"add"}
{name: "jay1", age: 30, address:"add"}
{name: "jay2", age: 29, address:"add"}


Solution

  •  { value:1, ...a, ...b, value:3 }
    

    equals:

    Object.assign({value:1}, a, b, {value:3})
    

    In your case you need to do that for every element of your array:

    const result = a.map(obj => ({...obj, address:"add"}));