![]() |
1
70
这就是模式。这里有一个
|
![]() |
2
42
自2009年以来,Javascript已经有了一些发展——我想我会添加另一个选项。我不太关心效率,直到它成为一个问题,所以我的定义 “雅致” 代码(如操作规程所规定的)有利于可读性——这当然是主观的……
在这个特定的例子中,如果集合中的两个或多个元素的出现次数相等,那么将返回数组中出现最新的元素。同样值得指出的是,它将修改原始数组-如果您希望使用
编辑: 用一些 ES6 fat arrows 因为 二千零一十五 我觉得他们看起来很漂亮…如果您关心向后兼容性,可以在 revision history . |
![]() |
3
30
按照
这将返回一个字符串,其中模式元素由
另一个选项是返回模式元素数组,如下所示:
在上面的示例中,您将能够以模式数组的形式处理函数的结果。 |
![]() |
4
11
|
![]() |
5
8
基于
使者
的ES6+答案,您可以使用
我将默认为空,如果空是您正在筛选的一个可能选项,那么它不会总是给您一个真实的响应,也许这是一个可选的第二个参数。 与其他各种解决方案一样,缺点是它不处理“draw states”,但使用稍微复杂一点的reduce函数仍然可以实现这一点。 |
![]() |
6
3
在这里尝试声明性方法。这个解决方案构建一个对象来统计每个单词的出现次数。然后,通过将每个单词的总出现次数与在对象中找到的最高值进行比较,将对象筛选为一个数组。
|
![]() |
7
2
如果数组中的多个元素同时出现,则此解决方案可以返回它们。例如,数组arr=[3,4,3,6,4]有两个模式值,即3和6。 这是解决方案,
|
![]() |
8
2
这是我解决这个问题的方法,但是使用数字和新的“集合”功能。它的性能不是很好,但是我写这个肯定很有趣,它支持多个最大值。
顺便说一句,不要将其用于生产,这只是说明如何仅使用ES6和数组函数来解决问题。 |
![]() |
9
2
当我将此功能用作面试官的测验时,我发布了我的解决方案:
|
![]() |
10
1
注:CT为阵列长度。
|
![]() |
11
1
其他解决方案的时间:
如果简洁很重要(不重要),那么:
如果要避免不存在的成员(例如稀疏数组),则需要 哈桑特性 需要进行测试:
这里的其他答案将返回 未定义 . |
![]() |
12
1
|
![]() |
13
1
这是我的解决方案:
|
![]() |
14
1
也试试看,这不考虑浏览器版本。
|
![]() |
15
0
我想你有两种方法。两者都有优势。 排序、计数或循环并使用哈希表为您进行计数。 哈希表很好,因为一旦处理完成,您还拥有所有不同的元素。但是,如果您有数百万个项目,那么如果复制率很低,哈希表最终可能会占用大量内存。排序然后计数的方法将有一个更可控的内存占用。 |
![]() |
16
0
|
![]() |
17
0
您可以尝试以下操作:
|
![]() |
18
0
你可以在O(N)复杂性中解决它
只需复制并粘贴到chrome控制台中即可运行上述代码。 |
![]() |
19
0
此函数是每种信息类型的通用函数。它计算元素的出现次数,然后返回具有最大发生次数的元素的数组。
|
![]() |
20
0
|
![]() |
21
0
|
![]() |
22
0
|
![]() |
23
0
这是我的路。我试着先将数据分组。
GroupResult应为
然后查找数组最长的属性
完整的代码看起来像
|
![]() |
24
0
|
![]() |
25
0
使用ES6,您可以这样链接方法:
如果两个元素的出现次数相同,则返回这两个元素。它适用于任何类型的元素。 |
![]() |
YOLO · 在数据帧上计算模式,而不排序结果 7 年前 |
![]() |
showkey · 如何将ex模式下的命令字符串复制到剪贴板? 8 年前 |
![]() |
runningbirds · 计算模式或2/3/4最常见值 8 年前 |
![]() |
Bonono · 如何在R中计算模式,但去除NA值 9 年前 |
![]() |
James M. Lay · vim-替换模式也可以替换新线 9 年前 |
![]() |
Job Talle · 阻止退出最大化窗口模式 10 年前 |
![]() |
dylnmc · Python 3.4打开(文件,“a”)aifc.Error 10 年前 |