题解 | #获取 url 参数#

获取 url 参数

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

1.用split方法分割求出所有参数。
2.分两种情况,有指定参数和无指定参数。
3.分情况求出结果,处理结果返回指定格式数据。

    getUrlParam (sUrl, sKey) {
      var paramArr = sUrl.split('?')[1].split('#')[0].split('&') // 用split方法分割求出所有参数
      if (sKey) { // 有指定参数
        var result = []
        for (let i = 0; i < paramArr.length; i++) {
          const element = paramArr[i].split('=')
          const tempItem = element[0]
          if (tempItem === sKey) { // 判断和指定参数是否相同
            result.push(element[1])
          }
        }
        switch (result.length) { // 结果处理,返回指定结果
          case 0:
            return ''
          case 1:
            return result[0]
          default:
            return result
        }
      } else { // 没有指定参数
        var objResult = {}
        for (let i = 0; i < paramArr.length; i++) {
          const element = paramArr[i].split('=')
          if (!(element[0] in objResult)) { // 判断键是否存在
            objResult[element[0]] = []
          }
          objResult[element[0]].push(element[1])
        }
        return objResult
      }
    }
全部评论

相关推荐

不愿透露姓名的神秘牛友
02-14 11:10
点赞 评论 收藏
分享
2024-12-29 11:08
湖南工业大学 Java
程序员牛肉:简历没什么大问题了。 而且不要再换项目了。三月份就开暑期实习了,现在都一月份了。实在来不及重新开一下项目了。把一个项目写完或许很快,但是把一个项目搞懂吃透并不简单。所以不要换项目了,把你简历上面的两个项目好好挖一挖吧。 具体 体现在:你能不能流利的说出你的项目的每一个功能点代码实现?你能不能说出在这块除了A技术之外,还有其他技术能够实现嘛?如果有其他技术能够实现,那你这块为什么选择了你当前用的这个技术?
投递牛客等公司
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务