JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)

jk 1年前 ⋅ 1243 阅读

源于:今日头条(查看原文)

以前我们总看三大去重方式汇总啊,五大去重方式汇总啊。有时候为了方便使用,还要保存好几篇文章。

这次,一篇就足够你用的了!


Methods 1:

思路:先定义一个“新数组”,并存放“源数组”(待去重的数组,以下简称源数组)的第一个元素,然后将源数组和新数组的元素一一对比,若不同则存放在新数组中。

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)


Methods 2:

思路:先将源数组排序,在与相邻的进行比较,如果不同则存入新数组。

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)


Methods 3:

思路:利用对象属性存在的特性,如果没有该属性则存入新数组。

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)


Methods 4:

思路:利用数组的indexOf下标属性来查询。

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)


Methods 5:

思路:利用数组原型对象上的includes方法。

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)

 


Methods 6:

思路:利用数组原型对象上的 filter 和 includes方法。

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)


Methods 7:

思路:利用数组原型对象上的 forEach 和 includes方法。

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)


Methods 8:

思路:利用数组原型对象上的 splice 方法。

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)


Methods 9:

思路:利用数组原型对象上的 lastIndexOf 方法。

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)


Methods 10:

思路:利用 ES6的set 方法。

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)

进阶篇:画龙点睛,一行代码搞定

Methods 10_1:

思路:利用ES6拓展运算符(...)内部使用for...of循环,以及Set成员值都是唯一的特性

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)

Methods 10_2:

思路:利用数组原型对象上的 filter函数以及ES6的Map对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。

JavaScript数组去重方式 —— 十大汇编(你收不收藏反正我发了)


全部评论: 0

    我有话说: