a.最简单的可以直接利用ES5的indexOf方法。
functiondupRemove(arr) {
var tmp = []; //一个新的临时数组
for (var i = 0; i < arr.length; i++) {
// 判断tmp数组中是否存在arr中第i元素,如果不存在则添加到tmp数据组。
if (tmp.indexOf(arr[i]) == -1) {
tmp.push(arr[i]);
}
}
return tmp;
}
b.
b.还有一种比较有意思的写法
function dupRemove(arr) {
var tmp = [];
for (vari = 0, l = arr.length; i < l; i++) {
for (varj = i + 1; j < l; j++) {
if (arr[i] === arr[j]) {
j = ++i;
}
}
tmp.push(arr[i]);
}
return r;
}
c.Es6的写法 (最推荐)
const removeRp =(arr)=>{
let a = Array.of(...new Set(arr))
return a
}
4、写一个方法获取url中?号后面的参数,并将参数对象化?
function getSearch(url){
var reg_url = /^[^\?]+\?([\w\W]+)$/
var reg_params = /([^&=]+)=([\w\W]*?)(&|$|#)/g
var arr_url = reg_url.exec(url)
var ret = {};
if (arr_url && arr_url[1]) {
var str_params = arr_url[1]
var result;
while ((result = reg_params.exec(str_params)) != null) {
ret[result[1]] = result[2];
}
}
return ret;
}