JSFiddle - React, Tailwind, and code Playground
by Chase Wilson
JavaScript
var merge = function(base) {
var hasBase = (base)?true:false,
base = base||this,
remove = hasBase?1:0,
args = Array.prototype.slice.call(arguments,0),
count = args.length,
keys = Object.keys(base)
i = 0;
var mergeIn = function(base,obj){
var keys = Object.keys(base);
for(var key in obj){
if(obj.hasOwnProperty(key) && keys.indexOf(key) !== -1){
base[key] = obj[key];
}
}
}
for(;i<count;i++){
mergeIn(base,args[i]);
}
return base;
}
console.log(merge.apply({a: 1, b: 3}, [{a:3,b:{a:1},c:2}, {a:4}] ))