|
|
1
335
您可以对数组进行排序,然后遍历它,然后查看下一个(或上一个)索引是否与当前索引相同。假设您的排序算法是好的,这应该小于O(n) 2. ):
|
|
2
211
资料来源: http://dreaminginjavascript.wordpress.com/2008/08/22/eliminating-duplicates/ |
|
|
3
190
这是我从复制线程(!)中得到的答案:
查找重复项
@Dmytro Laptin指出了一些可以删除的代码。这是同一代码的更紧凑版本。使用一些ES6技巧和高阶函数:
|
|
|
4
74
在数组中查找重复值这应该是在数组中实际查找重复值的最短方法之一。正如OP特别要求的那样, .
这不需要排序或任何第三方框架。它也不需要手动循环。它具有各种价值 indexOf() (或者更清楚地说,是 strict comparision operator )支持。 因为 reduce() 和 它至少需要IE 9。 |
|
|
5
70
短的 一个班轮来获取副本:
要获得无重复项的阵列,只需反转条件:
当您只需要按照中的要求检查是否存在重复项时
this question
你可以使用
|
|
6
29
您可以添加此函数,或者调整它并将其添加到Javascript的数组原型中:
|
|
|
7
27
更新:以下使用优化的组合策略。它优化了原语查找,以从哈希O(1)查找时间(运行)中获益
如果您有可用的ES6集合,那么有一个更简单、速度更快的版本。(适用于IE9+和其他浏览器的垫片如下: https://github.com/Benvie/ES6-Harmony-Collections-Shim )
|
|
|
8
22
|
|
|
9
22
这会让你得到你想要的,只是复制品。
|
|
|
10
19
发现 非唯一 来自3个数组(或更多)的值:ES2015
2015年前:
|
|
|
11
14
|
|
|
12
8
这是我的简单的单线解决方案。 它首先搜索非唯一元素,然后使用Set使找到的数组唯一。 因此,我们最终得到了一个重复数组。
|
|
|
13
8
这是我的建议(ES6):
|
|
14
7
一行简单方式
|
|
|
15
7
以下是我能想到的最简单的解决方案:
就这样。 注:
希望这有帮助。 |
|
|
16
6
或者当添加到数组的prototyp.chain时
|
|
|
17
6
它以O(n)(数组上的1次迭代)运行,并且不会重复出现超过2次的值
|
|
|
18
6
最短香草JS :
|
|
|
19
5
可以使用filter方法和indexOf()获取所有重复值
arr.indexOf(项目) 将始终返回给定元素可以使用的第一个索引 建立 |
|
|
20
5
最简单、最快捷的方法是使用
|
|
|
21
4
这里有一个非常简单的方法:
|
|
|
22
4
使用ES6(或使用Babel或Typescipt),您只需执行以下操作:
|
|
|
23
4
使用ES6语法的简单代码(返回重复项的排序数组):
|
|
|
24
4
我刚刚想出了一个使用数组过滤器实现这一点的简单方法
|
|
|
25
4
这个答案可能也很有用,因为它利用了js
|
|
|
26
4
排名较高的答案有一些固有的问题,包括使用遗留javascript、顺序不正确或仅支持2个重复项。 以下是解决这些问题的现代解决方案:
您还可以使用npm包
|
|
|
27
3
下面的函数(前面提到的EliminatedReplicates函数的变体)似乎起到了作用,为输入返回test2,1,7,5[“test”、“test2”、“test2”、1,1,1,2,3,4,5,6,7,7,10,22,43,1,5,8] 注意,这个问题在JavaScript中比在大多数其他语言中更为奇怪,因为JavaScript数组可以容纳任何内容。请注意,使用排序的解决方案可能需要提供适当的排序功能——我还没有尝试过这种方法。 这个特定的实现至少适用于字符串和数字。
|
|
|
28
3
仅限ES5(即IE8及以下版本需要过滤器()polyfill):
|
|
|
29
3
此函数 避免排序步骤 并使用reduce()方法将副本推送到新数组中(如果该数组中不存在)。 |
|
|
30
3
这可能是从阵列中永久删除重复项的最快方法之一 比这里的大多数功能快10倍;在safari中速度提高78倍
如果你看不懂上面的代码,可以去读一本javascript书,或者这里有一些关于较短代码的解释。 https://stackoverflow.com/a/21353032/2450730
正如注释中所述,此函数确实返回一个带有uniques的数组,但问题是要查找重复的数组。在这种情况下,对该函数的简单修改允许将重复项推入数组,然后使用前面的函数
|
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |
|
|
Geremia · 2D NumPy数组+1D数组? 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Paul Williams · 迭代数组时输出有问题 1 年前 |