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

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

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

function namespace(oNamespace, sPackage) {
  //包名用.分割形成名为keys的数组
  let keys = sPackage.split('.')
  //对数组使用高阶函数reduce
  //用法 [].reduce((先前的返回值,当前item的值)=>{return },pre初始值)
  keys.reduce((pre, cur) => {
    //判断oNamespace['a']是否为object类型
    if (typeof pre[cur] != 'object') {
      //不是,就给个空对象\n            pre[cur]={};
    }
    //是,那就返回出去,充当下次的pre值
    return pre[cur] //{test: 1, b: 2}
    // pre                 cur         pre[cur]
    // {a: {test: 1, b: 2}}       a        {test: 1, b: 2}
  }, oNamespace)
  return oNamespace
}
全部评论

相关推荐

07-15 12:24
重庆大学 运营
坏消息:和好工作擦肩而过
给点吧求求了:怎么可能因为差几秒,估计就是简历更好看婉拒了
点赞 评论 收藏
分享
认真搞学习:这么良心的老板真少见
点赞 评论 收藏
分享
07-17 12:07
门头沟学院 Java
勇敢牛牛不怕困难
投递OPPO等公司10个岗位
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务