</div>
</div>
<div class="grid--cell mb0 mt4">
<a href="/questions/171251/how-can-i-merge-properties-of-two-javascript-objects-dynamically" dir="ltr">How can I merge properties of two JavaScript objects dynamically?</a>
<span class="question-originals-answer-count">
(63 answers)
</span>
</div>
<div class="grid--cell mb0 mt8">Closed <span title="2017-01-11 09:25:28Z" class="relativetime">3 years ago</span>.</div>
</div>
</aside>
This is my code:
var data = {};
data.uuid = uuid;
data.method = "addAddress";
//Other parameters
var par = {};
par.name = "test";
par.surname = "test";
data.concat(par); //doesn't work
var url = myURL;
var result = $.ajax({
url: url,
data: data,
async: false
});
I want to merge two variables array. It is possible to merge this variables?
</div>
Variables data
and par
are objects and there is not concat
method in Objects.. So you end up with a TypeError: "data.concat is not a function".
But you can merge the two Objects like this:
var data = {},
par = {};
data.uuid = 1234;
data.method = 'addAddress';
par.name = 'test';
par.surname = 'test';
Object.keys(par).forEach(k => data[k] = par[k]);
console.log(data);
Note that properties of data
that are also in par
will be overwritten.
</div>
Check this code.
I have changed your var.surname = "test" code into par.surname = "test"
var data = {};
data.uuid = 1;
data.method = "addAddress";
var par = {};
par.name = "test";
par.surname = "test";
var obj = Object.assign({}, data, par);
console.log(obj);