我有一个值数组。我想根据第一个数组以更严格的标准创建第二个数组。比如我具体想要的是:
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/