原生js获取url中数据,并转为对象或数组形式

以Desktop/inn.html?a=1&b=2为例子 地址栏上?后拼接了两个参数 a和b 用&分开

<script>
    var str = window.location.search
         console.log(str,'完整的');   // ?a=1&b=2 完整的
    str = str.slice(1)
         console.log(str,'slice1的');    // a=1&b=2 slice1的
    // 按照&将字符串拆分成数组
    var arr = str.split('&')
    console.log(arr,'split&的')   //  ['a=1', 'b=2'] 'split&的'
    // 遍历数组取出每一项
    // 新建一个空对象
    var obj = {}

    for (var i = 0; i < arr.length; i++) {

        console.log(arr[i],'每一项')    // ['a', '1']  ['b', '2']

        // 把每一项再按照=拆分 得到左边的当成对象key 右边当成对象value

        var sonArr = arr[i].split('=')

        console.log(sonArr,'我是sonArr')    //

        obj[sonArr[0]] = sonArr[1]

    }

    console.log(obj, '全部参数')    // {a: '1', b: '2'} '全部参数'
    // 判断若地址栏中存在这三任意一个,怎么怎么样
    if (!(obj.qz_gdt && obj.clickid && obj.gdt_vid)) {
        //  跳转
        // window.location.href = ''
    }

</script>

主要就是 熟练使用对字符串处理的一下方法 slice.split等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值