2021-08-27

数组的几种去重方法

<!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>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容