JS数组去重的几种方法

JS数组去重几种方法

1. 利用ES6 Set去重(ES6中最常用)

```
function unique(arr){  
  return Array.from(new Set(arr));  
}  
var arr=[1,1,2,3,3,3,4,4,4,5,5,'1','true',true];
console.log(unique(arr));
```
此种方法对{}一些符号不起作用,可用于字符串和数字。

2. 利用for嵌套,然后splice去重(ES5中常用)

```
function unique(arr){  
    for(var i=0;i

3. 利用indexOf去重

function unique(arr){
  if(!Array.isArray(arr)){
      console.log("type error");
      return;
  }
  var array=[];
  for(var i=0;i

新建一个空的数组,for循环数组,判断结果数组是否存在当前元素,如果有相同
的值则跳过,不相同的则psuh进数组。字符串和数字都可以用,但是特殊符号不可用。
***

4.利用sort

function unique(arr){
    if(!Array.isArray(arr)){
        console.log("type error");
        return;
    }
    arr=arr.sort();
    var array=[arr[0]];
    for(var i=1;i

只能用于数字,字符串和符号都不可用。
***

5.利用对象的属性不能相同的特点进行去重

function unique(arr){
    if(!Array.isArray(arr)){
        console.log("type error");
        return;
    }
    var array=[];
    var object={};
    for(var i=0;i

只对数字类型起作用。
***

6.利用includes

function unique(arr){
    if(!Array.isArray(arr)){
        console.log("type error")
    }
    var array=[];
    for(var i=0;i

includes检测数组是否有某个值,对数字类型和字符串起作用,特殊符号不行。
***

转载于:https://www.cnblogs.com/lxystar/p/9683211.html

你可能感兴趣的:(JS数组去重的几种方法)