题解 | #根据包名,在指定空间中创建对象#
根据包名,在指定空间中创建对象
http://www.nowcoder.com/practice/a82e035501504cedbe881d08c824a381
function namespace(oNamespace, sPackage) {
const arr = sPackage.split('.');
let o = oNamespace;
for(let i = 0;i<arr.length ;i++) {
// 如果不是对象,则使它成为对象
if(typeof o[arr[i]] != 'object') {
o[arr[i]] = {};
}
o = o[arr[i]];
}
return oNamespace;
} 因为oNamespace是对象,因此o=oNamespace其实复制的是对象的引用,因此o的改变直接影响oNamespace, 所以可以在return的时候直接返回oNamespace.
查看12道真题和解析
