题解 | #根据包名,在指定空间中创建对象#

根据包名,在指定空间中创建对象

https://www.nowcoder.com/practice/a82e035501504cedbe881d08c824a381

function namespace(oNamespace, sPackage) {
    // 存储一开始的引用
    let result = oNamespace
    // 遍历循环字符串
    for(let i = 0; i<sPackage.length; i+=2){
        let char = sPackage[i]
        // 判断对象中是否有该属性,并且该属性为一个对象
        if(oNamespace.hasOwnProperty(char) && oNamespace[char].constructor === Object){
		  	// 直接赋值,跳过对象创建
            oNamespace = oNamespace[char]
        }else{
            // 创建对象
            oNamespace[char] = {}
            oNamespace = oNamespace[char]
        }
    }
    return result
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务