首页 > 代码库 > 根据包名,在指定空间中创建对象
根据包名,在指定空间中创建对象
根据包名,在指定空间中创建对象
输入描述:
namespace({a: {test: 1, b: 2}}, ‘a.b.c.d‘)
输出描述:
{a: {test: 1, b: {c: {d: {}}}}}
function namespace(oNamespace, sPackage) { var packageArr = sPackage.split(‘.‘); var curObj = oNamespace; // 保留对原始对象的引用 for(var i=0, len=packageArr.length; i<len; i++){ if(packageArr[i] in oNamespace){ // 空间名在对象中 if(typeof oNamespace[packageArr[i]] !== ‘object‘){ // 为原始值 oNamespace[packageArr[i]] = {}; // 将此属性设为空对象 } }else{ // 空间名不在对象中,建立此空间名属性,赋值为空 oNamespace[packageArr[i]] = {}; } oNamespace = oNamespace[packageArr[i]]; // 将指针指向下一个空间名属性 } return curObj;}console.log(namespace({a: {test: 1, b: 2}}, ‘a.b.c.d‘));//{ a: { test: 1, b: { c: [Object] } } }
链接来自牛客网:根据包名,在指定空间中创建对象
根据包名,在指定空间中创建对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。