js:截取url上的最后一位参数的键值

需求:截取/获取url上的某个值

应用场景:

(1)带参数跳转页面,从url上取值;
(2)获取url上需要的键值做逻辑判断;

思路:

(1)获取url;
(2)找可截取规律;
(3)通过split()将字符串变成数组获取键值;

实操:

举例:
https://blog.csdn.net/ljtjianting?type=blog&userName=liou&age=19&like=apple-pear-watermelon-orange

需求:获取like的值,并转成数组

方法:若能保障 like 的位置是固定在url各个参数最后面的话,可以用 split() 结合 数组长度 去取
window.location.href.split('&')[window.location.href.split('&').length-1].split('=')[1].split('-')

(若是用iframe包了一层的话,需要用window.parent.location.href

结果:[ "apple", "pear", "watermelon", "orang" ]

代码讲解:

// 1、获取页面的 URL地址
let href = window.location.href;
// href = 'https://blog.csdn.net/ljtjianting?type=blog&userName=liou&age=19&like=apple-pear-watermelon-orang'

// 2、找规律,参数都以 & 隔开,因此用 & 作标识将字符串转换成数组
let paramArr = href.split('&');
// paramArr = [
//    "https://blog.csdn.net/ljtjianting?type=blog",
//    "userName=liou",
//    "age=19",
//    "like=apple-pear-watermelon-orang"
// ]

// 3、取出 like所在的元素
let likeStr = paramArr[paramArr.length-1];
// likeArr = 'like=apple-pear-watermelon-orang'

// 4、获取 like 的字符串值,用 & 作标识将字符串转换成数组
let likeArr = likeStr.split('=');
// likeArr = [
//    "like",
//    "apple-pear-watermelon-orang"
// ]

// 5、取 like 的键值,并将其从字符串转为数组
let like = likeArr[1].split('-')
// like = [
//    "apple",
//    "pear",
//    "watermelon",
//    "orang"
// ]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript中的slice方法可以用于截取数组或字符串的一部分。如果我们想要截取最后一位,有几种不同的方法可以实现。 一种方法是使用数组的slice方法,将起始位置参数设为数组长度减1,这样就可以截取最后一位元素。例如,对于数组arr,我们可以使用arr.slice(-1)来截取最后一位元素。 另一种方法是使用字符串的slice方法,同样将起始位置参数设为字符串长度减1即可。例如,对于字符串str,我们可以使用str.slice(str.length - 1)或者str.slice(str.length - 1, str.length)来截取最后一位字符。 此外,我们还可以利用数组的长度属性length来获取最后一位元素。对于数组arr,我们可以使用arr[arr.length-1]来获取最后一位元素。 综上所述,根据需要选择适合的方法来截取到JavaScript中的最后一位元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【jsjs获取数组最后一位元素的五种方法,替换掉数组最后一位数据](https://blog.csdn.net/AAAXiaoApple/article/details/125366510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [JavaScript如何截取字符串的最后一位](https://blog.csdn.net/u013448372/article/details/109569468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值