根据包名,在指定空间中创建对象
根据包名,在指定空间中创建对象
输入描述:
namespace({a: {test: 1, b: 2}}, 'a.b.c.d')
输出描述:
{a: {test: 1, b: {c: {d: {}}}}}
function namespace(oNamespace, sPackage) { var a = sPackage.split('.'), o = oNamespace; a.forEach(function(item) { if (!(o.hasOwnProperty(item) && typeof o[item]==="object")) { o[item] = {}; } o = o[item]; }); return oNamespace; } var o = namespace({ a: { test: 1, b: 2 } }, 'a.b.c.d'); console.log(o); console.log(JSON.stringify(o)); // {"a":{"test":1,"b":{"c":{"d":{}}}}}