Generar propiedades de un objeto (JSON) dinámicamente.
El caso es el siguiente: Tenemos un objeto al que queremos crearle propiedades anidadas pero nos gustaría no tener que preocuparnos de si sus parent existen. por ejemplo, si tuviera un objeto “miObjeto” y quisiera crearle una función en miObjeto.modulos.ctools.watcher, primero tendría que crear ese path. eso o podemos usar esta función:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
/** * Genera propiedades de un objeto (JSON) dinamicamente. * @returns objeto extendido. */ function extend(base, ns_string) { var parts = ns_string.split('.'), pl, i; pl = parts.length; for (i = 0; i < pl; i++) { //create a property if it doesnt exist if (typeof base[parts[i]] == 'undefined') { base[parts[i]] = {}; } base = base[parts[i]]; } return base; } |
Y listo,