Community
Participate
Working Groups
function _merge(source, dest) {
Object.keys(source).forEach(function(key) {
if(Array.isArray(dest[key]) && Array.isArray(source[key])) {
dest[key] = [].concat(dest[key], source[key]);
var result = dest[key];
source[key].forEach(function(element) {
if (!result.some(function(resultElement) { return element === resultElement;})) {
result.push(element);
}
});
dest[key] = result;
} else if(typeof dest[key] === 'object' && dest[key] !== null) {
source[key] = source[key] || Object.create(null);
_merge(source[key], dest[key]);