题解 | #根据包名,在指定空间中创建对象#
根据包名,在指定空间中创建对象
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
}
查看20道真题和解析