How to $.extend 2 objects by adding numerical values together from keys with the same name?
Posted
by
muudless
on Stack Overflow
See other posts from Stack Overflow
or by muudless
Published on 2012-08-31T03:11:44Z
Indexed on
2012/08/31
3:38 UTC
Read the original article
Hit count: 118
JavaScript
|jQuery
I currently have 2 obj and using the jquery extend function, however it's overriding value from keys with the same name. How can I add the values together instead?
obj1 = {"orange":2,"apple":1, "grape":1}
obj2 = {"orange":5,"apple":1, "banana":1}
mergedObj = $.extend({}, obj1, obj2);
var printObj = typeof JSON != "undefined" ? JSON.stringify : function(obj) {
var arr = [];
$.each(obj, function(key, val) {
var next = key + ": ";
next += $.isPlainObject(val) ? printObj(val) : val;
arr.push( next );
});
return "{ " + arr.join(", ") + " }";
};
console.log('all together: '+printObj(mergedObj) );
And I get obj1 = {"orange":5,"apple":1, "grape":1, "banana":1}
What I need is obj1 = {"orange":7,"apple":2, "grape":1, "banana":1}
© Stack Overflow or respective owner