js中数组去重的方法

Set 方法是最快的,但该对象具有重要的自定义键。

js中数组去重的方法 js数组去重的5种方法

当我之前编码时,我使用了这个双for循环加上来删除重复项。
这很简单,这意味着我必须写两层;一是外环。
接下来是内圈。
for 循环遍历原始数组,内部循环检查结果数组是否有元素。
当我编写该代码时,我手头有一个小项目,需要删除一些冗余信息。
这种方法速度相当快,但是写起来有点繁琐。

后来遇到了ES6 ,找到了Set。
删除重复项非常不方便。
只需将其放入数组中,该数组就会以重叠数组的形式出现。
2 02 2 年我做了一个大项目,有很多数据。
使用此集合删除重复项非常快。

还有另一种方法称为 LastIndexOf。
这个方法我后来也学会了,还是蛮有用的。
它搜索数组中元素的最后一个索引,如果未找到则返回 -1 使用它删除重复项时;我们对每个元素使用lastIndexOf来检查它是否在原始数组中只出现一次。
如果它只出现一次,那么它是唯一的,我们将它添加到结果数组中。

我们来谈谈这个对象的乘法。
对象不能直接比较,因为它们是引用类型并且指向相同的内存地址。
物体我考虑过在将它们转换为字符串后使用 JSON.stringify 来比较它们。
然而,有一个问题;也就是说,如果对象中属性的顺序不同。
虽然内容还是一样。
转换为字符串会有所不同。
当时我有点困惑,但想了想,还是要调整一下代码逻辑。

最后,有一种方法可以在排序后比较相邻元素。
该方法主要用于处理数值数组。
首先对数组进行排序;然后,通过排序后的数组,比较相邻元素是否相同,并将差异添加到结果数组中。
这种方法其实很简单,但是有时候排序会带来性能问题。

每种方法都有适用条件并取决于具体要求。
在从事项目工作时;根据实际情况选择合适的提取方法。

js去重方法

这六种 JavaScript 数组去重方法很简单:
1 .双层环:简单,但速度慢。
2 、粘贴操作:直接粘贴到原数组中,体积小但内存占用高。
3 、对象属性:利用唯一性,速度快,但代码复杂。
4 .数组递归:排序后迭代,速度快,但排序会改变原数组。
5 .indexOf+forEach:后续验证,简单,但可能会慢。
6 、ES6 套件:最简单、最高效,但必须考虑兼容性。

哪一个取决于您的需求。
例如,如果较旧的浏览器使用 Set,您可能需要添加一个 polyfill。
由您决定哪一个最适合您的项目。