Extienda un objeto JavaScript pasando una cadena con la ruta y un valor

¿Existe una manera fácil de extender un objeto JavaScript al pasar una cadena y un valor?

Básicamente necesito algo como esto:

myObject = {} var extendObj = function(obj, path, value){ } var path = "abc", value = "ciao"; extendObj(myObject, path, value); console.log(myObject.abc) //will print "ciao" 

 myObject = {}; var extendObj = function (obj, path, value) { var levels = path.split("."), i = 0; function createLevel(child) { var name = levels[i++]; if(typeof child[name] !== "undefined" && child[name] !== null) { if(typeof child[name] !== "object" && typeof child[name] !== "function") { console.warn("Rewriting " + name); child[name] = {}; } } else { child[name] = {}; } if(i == levels.length) { child[name] = value; } else { createLevel(child[name]); } } createLevel(obj); return obj; } var path = "abc", value = "ciao"; extendObj(myObject, path, value); console.log(myObject.abc) //will print "ciao" 

http://jsfiddle.net/DerekL/AKB4Q/

introduzca la descripción de la imagen aquí

Puedes ver en la consola que crea la ruta según la path que ingresaste.

    Intereting Posts