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))
来源:oschina
链接:https://my.oschina.net/u/3698732/blog/4338941