Saturday, April 13, 2024
 Popular · Latest · Hot · Upcoming
187
rated 0 times [  192] [ 5]  / answers: 1 / hits: 105186  / 15 Years ago, sat, may 30, 2009, 12:00:00

What’s the best/standard way of merging two associative arrays in JavaScript? Does everyone just do it by rolling their own for loop?


More From » object

 Answers
5

with jquery you can call $.extend



var obj1 = {a: 1, b: 2};
var obj2 = {a: 4, c: 110};

var obj3 = $.extend(obj1, obj2);

obj1 == obj3 == {a: 4, b: 2, c: 110} // Pseudo JS


(assoc. arrays are objects in js)



look here: http://api.jquery.com/jQuery.extend/






edit: Like rymo suggested, it's better to do it this way:



obj3 = $.extend({}, obj1, obj2); 
obj3 == {a: 4, b: 2, c: 110}


As here obj1 (and obj2) remain unchanged.






edit2: In 2018 the way to do it is via Object.assign:



var obj3 = Object.assign({}, obj1, obj2); 
obj3 === {a: 4, b: 2, c: 110} // Pseudo JS


If working with ES6 this can be achieved with the Spread Operator:



const obj3 = { ...obj1, ...obj2 };

[#99422] Wednesday, May 27, 2009, 15 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
eliza

Total Points: 732
Total Questions: 96
Total Answers: 86

Location: Guam
Member since Fri, Jun 18, 2021
3 Years ago
;