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

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

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

一目了然

function namespace(oNamespace, sPackage) {
    let tmpWrap = oNamespace;
    sPackage.split('.').forEach(item => {
        tmpWrap = tmpWrap[item] = Object.assign({}, tmpWrap[item]);
    });
    return oNamespace;
}
全部评论
你这个不行啊,我打印出来跟题目要求不一样,这个输出:{ a: { test: 1, b: { c: [Object] } } }
1 回复 分享
发布于 2021-08-10 17:01
这个是咋实现的,不是很能理解
2 回复 分享
发布于 2021-09-28 17:27
这是个什么原理
点赞 回复 分享
发布于 2022-01-29 14:05
是可以的 就是复制一份地址给个临时变量 tmp工具人 然后每个a b c d 又刚好事嵌套关系 就直接循环: 浅拷贝-》{a:} tmp.a={a:} 然后tmp=tmp.a 那下一次对b处理后 tmp是实际是蹿到a当爹那了 然后把b付进来 依次类推 值弄进来之后直接变爹下一个进来的都是我儿子 最后 namespace 直接把最后的内卷爹儿子们收割了
点赞 回复 分享
发布于 2022-11-02 08:32 江西
为了看懂这个,脑子里面转了好多个圈圈
点赞 回复 分享
发布于 2022-11-10 16:28 陕西
给我CPU都烧没了
点赞 回复 分享
发布于 2023-01-10 21:59 广东
浅拷贝。合理利用传值
点赞 回复 分享
发布于 2023-02-07 16:20 北京

相关推荐

点赞 评论 收藏
分享
26牛牛不会梦到感谢信:羡慕离职了还能吃吗现在就赶回去
点赞 评论 收藏
分享
评论
39
1
分享

创作者周榜

更多
牛客网
牛客企业服务