Home  >  Article  >  Web Front-end  >  A super comprehensive summary of 12 methods to remove duplicates from JavaScript arrays

A super comprehensive summary of 12 methods to remove duplicates from JavaScript arrays

不言
不言Original
2018-09-17 13:57:111369browse

This article brings you a summary of 12 super-comprehensive JavaScript array deduplication methods. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

Array deduplication is usually encountered during interviews. It is usually required to hand-write the code of the array deduplication method. If asked, what are the methods for deduplicating arrays? If you can answer 10 of them, the interviewer is likely to be impressed by you.
Array deduplication encountered in real projects is usually processed in the background, and the front-end is rarely used to process array deduplication. Although the probability of using it in daily projects is relatively low, you still need to know it in case you may be asked about it during the interview.

Methods to deduplicate arrays

1. Use ES6 Set to deduplicate (most commonly used in ES6)

function unique (arr) {
  return Array.from(new Set(arr))
}
var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
console.log(unique(arr))
 //[1, "true", true, 15, false, undefined, null, NaN, "NaN", 0, "a", {}, {}]

Does not consider compatibility, this The method of deduplication has the least code. This method cannot remove the "{}" empty object. Later high-order methods will add and remove the "{}" empty object.

2. Use for to nest for, and then splice to remove duplicates (most commonly used in ES5)

function unique(arr){            
        for(var i=0; i852ae9429d88f479c273ec1c763a4bb1= 1){
            if(arrry[index] === arrry[index-1]){
                arrry.splice(index,1);
            }
            loop(index - 1);    //递归loop,然后数组去重
        }
    }
    loop(len-1);
    return arrry;
}

10.Use Map data structure to deduplicate

function arrayNonRepeatfy(arr) {
  let map = new Map();
  let array = new Array();  // 数组用于返回结果
  for (let i = 0; i a917688184feb77e26c5c2440fb27a31 {
    if(s1 !== s2){
      array .push(s1);
    }
    return s2;
  })
  array .push(sortArr[sortArr.length - 1]);
  return array ;
}

12. [...new Set(arr)]

[...new Set(arr)] 
//代码就是这么少----(其实,严格来说并不算是一种,相对于第一种方法来说只是简化了代码)

PS: Some articles mentioned the foreach indexOf array deduplication method. Personally, I think they are all similar, so I didn’t write them down.

The above is the detailed content of A super comprehensive summary of 12 methods to remove duplicates from JavaScript arrays. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn