JavaScript-数组去重

JavaScript-数组去重_第1张图片

数组是JavaScript中最常见的一种数据结构,数组去重在开发过程中和面试过程中都会经常遇到,现整理了一些用于数组去重的方法,可以用于前端面试准备材料。

〇、先准备一个数组
let arr = [1,2,3,4,5,3,2,1,'','','1',{},{},null,null,NaN,NaN,undefined,undefined]
一、ES6中的Set结构
let arr1 = [...new Set(arr)];
console.log(arr1); //[1, 2, 3, 4, 5, "", "1", {…}, {…}, null, NaN, undefined]
二、利用filter()方法
let arr2 = arr.filter((item,index)=>{
  return arr.indexOf(item) == index
})
console.log(arr2); // [1, 2, 3, 4, 5, "", "1", {…}, {…}, null, undefined]
三、两层for循环 + splice()
function quchong(arr){
   for(let i=0;i
四、利用indexOf()
function quchong2(arr){
   let arr_ = [];
   for(let i=0;i
五、利用reduce() + includes()
let arr5 = arr.reduce((prev,cur)=>{
   if(!prev.includes(cur)){
      prev.push(cur)
    }
    return prev
},[])
console.log(arr5) //[1, 2, 3, 4, 5, "", {…}, {…}, null, NaN]

【作者水平有限,欢迎大家在评论区交流指正~】