kelly921011
kelly921011
采纳率50%
2017-08-17 07:00

实现一个方法,获取url的参数值,同名参数如有多个值则合并成一个数组:

输入示例:getUrlParam("http://www.nowcoder.com?test=yes&key=1&key=2&key=3#title","key")
输出示例:["1","2","3"]

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • Small_Mouse0 鼠小 4年前

    看题主意思是想解析出,下面的字符串?

     http://www.nowcoder.com?test=yes&key=1&key=2&key=3#title
    

    【1】根据?切分,,,取后面(test=yes&key=1&key=2&key=3#title)
    【2】根据#切分取前面(test=yes&key=1&key=2&key=3)
    【3】根据&切分装入字符串数组。

     {“test=yes”,"key=1",“key=2”,"key=3"}
    

    【4】分别分局等号切分,变成字符串数组数组
    ......
    【5】遍历,,判断取值。。。。。

    点赞 评论 复制链接分享
  • kangqinsheng kangqinsheng 4年前

    可以尝试分割得到这部分test=yes&key=1&key=2&key=3
    然后使用&分割得到数组连绵四个元素
    定义一个空数组
    然后遍历分割的数组元素,用=分割,分割后的数组第一个元素去查找自己定义的数组有没有这个索引,有就将分割后的第二个元素也就是值放进定义数组的值里,最好形成一个二维数组
    如果遍历发现又这个索引,就直接追加值
    空数组 array data =[];
    分割后的是这样['test=yes','key=1','key=2','key=3'];
    遍历第一个分割后是['test','yes'];
    第一次判断后产生data=['test':array('yes')];
    最后遍历完就是data=['test':array('yes'),'key':array('1','2','3')];
    最后return data['key'];
    思路是这样 至于怎么写就不说了

    点赞 评论 复制链接分享
  • SZShaoLiang SZShaoLiang 4年前

    如果URL是写死了的话,有后台java代码只需要用String相关的API就可以实现,不过意义不大,但不是写死的话,URL一般是在web应用中,
    你可以通过Ajax中的get请求获取参数,并返回JSON数据就可以了

    点赞 评论 复制链接分享

相关推荐