数组去重
方法一:使用indexOf 的方法, 有返回第一个的下标 没有返回-1
// 1.indexOf 有返回第一个的下标 没有返回-1
for(var i = 0;i < newArr.length;i++){
if(arr.indexOf(newArr[i] )==-1){
arr.push(newArr[i]);
}
}
console.log(arr);
方法二:使用includes 包含返回true 没有返回false
for(var i = 0;i < newArr.length;i++){
if(!arr.includes(newArr[i])){
arr.push(newArr[i]);
}
}
方法三:find 返回第一个符合条件的值 没有返回undefined
for(var i = 0;i < newArr.length;i++){
if(!arr.find(el=> el=== newArr[i])){
arr.push(newArr[i])
}
}
console.log(arr);
方法四:findIndex 返回符合条件的下标 没有返回-1
for(var i = 0; i < newArr.length;i++){
if(arr.findIndex( el => el === newArr[i]) == -1){
arr.push(newArr[i]);
}
}
console.log(arr);
方法五:set
let set = new Set([...newArr]);
console.log(set)
方法六:for()+splice
for(let i = 0;i < newArr.length;i++){
for(var j = 0;j < newArr.length;j++){
if(i != j && newArr[i] == newArr[j]){
newArr.splice(j,1);
}
}
}
console.log(newArr)
方法七:reduce + includes 去重
let arr3 = newArr.reduce((pre,cur)=>{
// return pre.includes(cur)?pre:[...pre,cur]
if(!pre.includes(cur)){
return [...pre,cur]
}else{
return pre
}
},[])
console.log(arr3)