Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Angular function to merge two objects. This method will be in angular 1.4 but is missing in previous versions.
function merge(dst, src) {
var h = dst.$$hashKey;
if (!angular.isObject(src) && !angular.isFunction(src)) return;
var keys = Object.keys(src);
for (var j = 0, jj = keys.length; j < jj; j++) {
var key = keys[j];
var src_new = src[key];
if (angular.isObject(src_new)) {
if (!angular.isObject(dst[key])) dst[key] = angular.isArray(src_new) ? [] : {};
merge(dst[key], src_new);
} else {
dst[key] = src_new;
}
}
if (h) {
dst.$$hashKey = h;
} else {
delete dst.$$hashKey;
}
return dst;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.