1. new set() 方法(es6)
Set是es6新增的数据结构,类似数组,一大特性就是所有元素都是唯一的,没有重复的值,我们一般称为集合。
2.数组嵌套循环:
let arr =["1",1,3,8,11,2,1,33,5,7,1]
function spliceMethod(arr){
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
arr.splice(j,1);
j--
}
}
}
return arr;
}
这里还涉及到一个知识点,用==判断是否相等时,会先转换成相同的类型,所以这里没办法判断字符串类型的1和字符型1的区别,如果判断用===,则能区别
3.利用indexOf方法去重
新建一个空的数组,forEach 循环原数组,判断新数组是否存在当前循环元素,如果有相同的值则跳过,无则push进新数组。
function spliceIndex(arr){
if(!Array.isArray(arr)){
console.log("error type");
return false;
}
let arrNew =[];
arr.forEach(item=>{
if(arrNew.indexOf(item)==-1){
arrNew.push(item)
}
})
return arrNew;
}