¿Hay algún método existente para agregar un objeto a otro objeto?Agregar objetos a objetos existentes
que he tenido una puñalada rápida a tirar esto juntos pero no estoy seguro acerca de un par de cosas:
I Am métodos de manipulación correctamente? Agregué una excepción para agregar, pero ¿qué ocurre cuando existen otras funciones de prototipo? ¿Debería simplemente ignorar funciones en la nueva clase?
¿Qué debo hacer con los valores nulos/indefinidos?
Además, he pensado en las matrices ... ¿cuál sería la mejor forma de manejar las matrices? typeof informes como 'objeto' .. supongo que probar el Array(). constructor de datos sería el camino a seguir
Aparte de estas dos cuestiones que parece funcionar como yo quiero que (sobrescribir/añadir partes individuales del objeto existente solo donde existe en el nuevo objeto). ¿Hay algún caso marginal que me haya perdido?
Object.prototype.append = function(_newObj)
{
if('object' !== typeof _newObj) {
console.info("ERROR!\nObject.prototype.append = function(_newObj)\n\n_newObj is not an Object!");
}
for (newVar in _newObj)
{
switch(typeof _newObj[newVar]){
case "string":
//Fall-through
case "boolean":
//Fall-through
case "number":
this[newVar] = _newObj[newVar];
break;
case "object":
this[newVar] = this[newVar] || {};
this[newVar].append(_newObj[newVar]);
break;
case "function":
if(newVar !== 'append'){
this[newVar] = _newObj[newVar];
}
break;
}
}
return this;
}
var foo = { 1:'a', 2:'b', 3:'c' };
var bar = { z: 26, y: 25, x: 24, w: { 'foo':'bar'}, v: function(){ alert('Hello world"'); } };
foo.append(bar);
console.info(foo);
Con ello se pretende (más adelante) para fusionar 'valores almacenados' y 'valores recién obtenidos' y me preocupa que pueda sobrescribir accidentalmente una matriz de datos recopilados durante más de 30 días en a con nulo/indefinido si la secuencia de comandos fallara por alguna razón (relleno el 'nuevo objeto' con datos incorrectos), para responderle si el objeto receptor también debe tener los siguientes: no es necesario arily .. – kwah
Sí, dependiendo de sus necesidades, tendrá que dar cuenta de eso en ese momento. He contabilizado '' undefined '' en mi código, pero no 'null'. – palswim