美文网首页让前端飞
数组去重-JavaScript

数组去重-JavaScript

作者: AlbertZX | 来源:发表于2020-11-05 17:41 被阅读0次
数组是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<arr.length;i++){
     for(let j=i+1;j<arr.length;j++){
       if(arr[i] == arr[j]){
           arr.splice(j,1);
           j--;
        }
     }
   }
   return arr
}
let arr3 = quchong(arr);
console.log(arr3); //[1, 2, 3, 4, 5, "", {…}, {…}, null, NaN, NaN]

四、利用indexOf()

function quchong2(arr){
   let arr_ = [];
   for(let i=0;i<arr.length;i++){
      if(arr_.indexOf(arr[i]) == -1){
         arr_.push(arr[i])
       }
     }
     return arr_
}
let arr4 = quchong2(arr);
console.log(arr4); //[1, 2, 3, 4, 5, "", {…}, {…}, null, NaN, NaN]

五、利用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]

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

相关文章

  • JavaScript数组去重算法实例

    本文主要介绍了JavaScript数组去重算法,结合实例形式总结分析了JavaScript数组去重相关的读写、遍历...

  • javascript数组去重,数组对象去重

    利用Reduce去重 function unique(arr) {var obj = {};arr = arr.r...

  • JavaScript - 数组去重

    数组去重 1.for循环 2.0 少了多少行代码~~~ 3.0 indexOf 4.0 map/forEach E...

  • javascript 数组去重

    es6数组去重的方法

  • JavaScript 数组去重

    数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有哪些?你...

  • JavaScript 数组去重

    博客地址:https://ainyi.com/#/32 单数组去重 filter + indexOf() filt...

  • JavaScript数组去重

    数组去重是一个js中在面试中经常被问到的问题,被问到是因为确实能够考察一些问题。如果不使用第三方的工具库,完全使用...

  • Javascript 数组去重

    数组去重 数组去重,一般需求是给你一个数组,调用去重方法,返回数值副本,副本中没有重复元素。一般来说,两个元素通过...

  • 【JavaScript】数组去重

    话说面试常会碰到面试官会问JavaScript实现数组去重的问题,最近刚好在学习有关于JavaScript数组相关...

  • JavaScript数组去重

    当前元素的下标,和从数组里找到该元素的下标一样时,说明是第一次出现 ES6 Set类似于数组,成员值唯一,经过过滤...

网友评论

    本文标题:数组去重-JavaScript

    本文链接:https://www.haomeiwen.com/subject/drdavktx.html