JSFiddle - React, Tailwind, and code Playground
by LuckyCat
JavaScript
function extend(obj1, obj2) {
/*for (var key in obj2) {
if( (obj1.hasOwnProperty(key)
&& obj1[key] != obj2[key])
|| !obj1.hasOwnProperty(key)){
obj1[key] = obj2[key];
}
}*/
var obj = {};
for (var key in obj2) {
obj1[key] = obj2[key];
}
console.log(obj1);
return obj;
}
/*
function createObject(arrOfKeys, arrOfData) {
var obj = {};
for (var i=0; i < arrOfKeys.length; i++) {
for (var j=0; j < arrOfData.length; j++) {
obj[arrOfKeys[i]] = arrOfData[i];
}
}
return obj;
}*/
/*console.log(createObject(['foo'], ['bar']));
console.log(createObject(['foo', 'extra'], ['bar']));
console.log(createObject(['foo'], ['1', null, 'baz']));*/
function MergeRecursive(obj1, obj2) {
for (var p in obj2) {
try {
// Property in destination object set; update its value.
if ( obj2[p].constructor==Object ) {
obj1[p] = MergeRecursive(obj1[p], obj2[p]);
} else {
obj1[p] = obj2[p];
}
} catch(e) {
// Property in destination object not set; create it and set its value.
obj1[p] = obj2[p];
}
}
console.log(obj1);
return obj1;
}
extend({foo: 'bar', baz: 1}, {foo: true, zoop: 0}); // {foo: true, baz: 1, zoop: 0}
MergeRecursive({foo: 'bar', baz: 1}, {foo: true, zoop: 0});