截取url参数并返回json格式;数组元素出现次数统计;

不问归期 提交于 2020-08-17 15:23:39

var url = 'https://ww.baidu.com?a=1&b=2&c=3&d=4'
思路:先通过indexOf('?')拿到问号开始的索引(即url拼接参数开始的索引),然后通过substring(索引+1)来截取下整个拼接参数,接下来对拼接参数通过split('&')进行切割,从而使url上拼接的每个参数作为一个数组的对象,然后通过for循环中这个数组,对每个数组对象split('=')切割为“参数名”+“参数值”的形式,然后进行赋值,代码如下:

getParam(url) {
    var obj = {};
    var num = url.indexOf("?");
    var str = url.subString(num + 1);
    var strArr = str.split('&');
    for (var i = 0; i < strArr.length; i++) {
        var arr = strArr[i].split('=');
        obj[arr[0]] = arr[1]
    }
    return obj
},
var url = www.baidu.com?a=1&b=2&c=3&d=4
getParam(url)

 

2.思路:声明一个对象,通过对数组循环判断对象中是否有这个数组元素,有次数+1,无则添加进对象;代码如下:

arrayCount(arr) {
    var obj = {};
    for (var i = 0; i<arr.length; i++) {
        if(obj[arr[i]]) {
            obj[arr[i]] +=1
        } else {
            obj[arr[i]]= 1
        }
    }
    return obj
}

var list = [1,2,3,4,5,1,2,3,4,5]
console.log(arrayCount(list))

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!