JavaScript 几种数组去重的方法

Posted youwei716

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 几种数组去重的方法相关的知识,希望对你有一定的参考价值。

一.利用for嵌套for,然后splice去重
let arr=[5,5,5,12,12,-3,33,33,35,8];
for( let i=0; i<arr.length;i++)
for(let k=i+1;k<arr.length;k++)
if(arr[i]===arr[k])
arr.splice(i,1);
i--;


console.log(arr)

二.Set方法去重

let arr = [1,2,2,3,4,3,1,6,7,3,5,7];
let s1 = new Set(arr);
let arr2 = [...s1];
console.log(arr2);

三.利用indexOf去重

let arr=[1,2,4,4,5,6,7,7,8,9];
let s = [];  //遍历数组
for(var i = 0;i<arr.length;i++)
if(s.indexOf(arr[i]) == -1) //判断在s数组中是否存在,不存在则push到s数组中
s.push(arr[i]);


console.log(s);

 

四.利用sort去重

let arr=[1, 1, 2, 3, 5, 3, 1, 5, 6, 7, 4];
function unique(arr) 
    if (!Array.isArray(arr)) 
        console.log(‘type error!‘)
        return;
    
    arr = arr.sort()
    var arrry= [arr[0]];
    for (var i = 1; i < arr.length; i++) 
        if (arr[i] !== arr[i-1]) 
            arrry.push(arr[i]);
        
    
    return arrry;

        console.log(unique(arr));

  

五.双重for循环,利用push达到去重效果

let arr=[1,2,4,4,5,6,7,7,8,9];
  let newArr = []
  for (let i = 0; i < arr.length; i++) 
    for (let j = i + 1; j < arr.length; j++) 
      if (arr[i] === arr[j]) 
        i++;
      
    
    newArr.push(arr[i])
  
  console.log(newArr) 

以上是关于JavaScript 几种数组去重的方法的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript数组去重的几种方法

关于数组去重的几种方法-------javascript描述

几种数组去重的方法

数组去重的几种方法

数组去重的几种常见方法?

JS数组去重的几种常见方法