javascript - 有什么方法可以修改数组中允许的值的标准吗?

标签 javascript arrays

我有一个值数组。我想根据第一个数组以更严格的标准创建第二个数组。比如我具体想要的是:

arrayOne[1,1,1,1,1,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5]

我该如何在我的新数组中做到这一点,只有出现 5 次的值才是数组的一部分,并且只出现一次。示例:arrayTwo [1,4]

我对 JavaScript 相当陌生,并且有机会为我的一门商业类(class)编写决策系统,而不是参加期末考试。如果您能提供任何帮助,我们将不胜感激。谢谢。

最佳答案

您可以使用哈希表,它对每个找到的元素进行计数,然后使用该计数进行过滤,并在单个循环中仅获取第五个元素作为结果集。

var array = [1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5],
    count = Object.create(null),
    result = array.filter(v => (count[v] = (count[v] || 0) + 1) === 5);

console.log(result);

关于javascript - 有什么方法可以修改数组中允许的值的标准吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56661764/

相关文章:

javascript - 如何在 Javascript 中换行

javascript - Php 不从 json 发布数据,请

arrays - Ruby:删除数组的第一个和最后一个元素 - 为什么解决方案以一种方式而不是另一种方式工作

python - 将元组中的列表转换为numpy数组?

javascript - 如何将数组附加到现有的 json 数组并写入 Node js 中的文件

javascript - capybara-webkit 中未定义的方法 `invalid_element_errors'

javascript - 从 MySQL 数据在 NodeJS 提供的页面中生成 HTML 表

javascript - 如何将数组作为 JavaScript 中的新属性推送到另一个数组元素中?

javascript - 将数组保存到 JSON 文件,然后使用 Array.push() 将数据保存在其中

c - 将数组从一个函数传递到另一个函数