数组的几种去重方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//第一种方法去重:遍历数组,判断每一项的indexOf返回值为-1,那么就把这个数添加到新数组里面
// let arr=[1,2,1,4,5,2,3]
// let newarr=[]
// for(let i=0; i<arr.length; i++){
// if(newarr.indexOf(arr[i])==-1){
// newarr.push(arr[i])
// }
// }
// console.log(newarr)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 第二种方法去重双重for循环去充
// let arr=[1,2,1,4,1,5,2,3]
// let newarr=[]
// for(let i=0;i<arr.length;i++){
// let o=true
// for(let j=0;j<newarr.length;j++){
// if(arr[i]==arr[j]){
// o=false
// }
// }
// if(o){
// newarr.push(arr[i])
// }
// } console.log(newarr)
//`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//第三种方法去重:ES6新方法set去重,内置对象用new(各项唯一数组的方法)...是扩展运算符
// let arr=[1,2,1,4,5,2,3]
// let newarr=[...new Set(arr)]
// console.log(newarr)
///filter筛选数组并把满足条件的元素放到新数组并返回返回true
//用于查找某元素在数组中首次出现的索引位置,找不到返回-1
let arr=[1,2,1,4,5,2,3]
let res=arr.filter(function(item,index){
return arr.indexOf(item)===index
})
console.log(res)
</script>
</body>
</html>