JS 中常见的几种去重方法

如题所述

第1个回答  2022-06-24

ES6 提供了新的数据结构 Set 。它类似于数组,但是成员的值都是唯一的,没有重复的值。
Set 本身是一个构造函数,用来生成 Set 数据结构。
利用的算法类似 '===',与 '===' 的区别是 ‘===’ 认为 NaN != NaN , set 的算法认为它们是相等的。
但 Set 不支持对象方法,认为对象都是不相等的。

原理: splice 会改变原数组

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
indexOf ( searchvalue, fromindex )
searchvalue :必填值,规定需检索的字符串值
fromindex :选填值,规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。
如省略该参数,则将从字符串的首字符开始检索。

原理:相邻元素对比法,若相等则去掉一个
注:array.sort( function ) 参数必须是函数,可选,默认升