Javascript筛选具有匹配值的数组

Javascript筛选具有匹配值的数组,javascript,Javascript,如何从数组中筛选并找到重复3次的数字 function produceChanceNumbers(){ //initiate array var arr = []; //begin running 10 times for (var i = 0, l = 10; i < l; i++) { arr.push(Math.round(Math.random() * 10)); }

如何从数组中筛选并找到重复3次的数字

function produceChanceNumbers(){
        //initiate array
        var arr = [];
        //begin running 10 times
        for (var i = 0, l = 10; i < l; i++) {
            arr.push(Math.round(Math.random() * 10));
        }
        console.log(arr);
        //inputs array in html element
        document.getElementById("loop").innerHTML = arr.join(" ");
        var winner = 
        //begin filtering but only replaces numbers that repeat
        console.log(arr.filter(function(value, index, array){
            return array.indexOf(value) === index;
        }));

    }//end produceChanceNumbers
函数produceChanceNumber(){
//启动阵列
var-arr=[];
//开始运行10次
对于(变量i=0,l=10;i
html:

1

我会为你的过滤器编写一个单独的函数,比如

function filterByCount(array, count) {
    return array.filter(function(value) {
        return array.filter(function(v) {
          return v === value
        }).length === count
    })
}
你可以像这样使用它

filterByCount([1, 1, 8, 1], 3) // [1, 1, 1]
filterByCount([1, 1, 8, 1], 1) // [8]

我会为你的过滤器写一个单独的函数,比如

function filterByCount(array, count) {
    return array.filter(function(value) {
        return array.filter(function(v) {
          return v === value
        }).length === count
    })
}
你可以像这样使用它

filterByCount([1, 1, 8, 1], 3) // [1, 1, 1]
filterByCount([1, 1, 8, 1], 1) // [8]

是的,我觉得我朝着正确的方向前进,但我不知道如何让它意识到某个数字被输出了3次。这是我的想法吗?三元组的出现次数推3次,你可以很容易地调整它。请参阅获取唯一值的问题。哦,是的,实际上你的js bin工作得很好。所以它抓取这个数组,然后生成另一个数组,这个数组的数字匹配了3倍。那真的很酷。谢谢确保将条件更改为正好3,现在它大于或等于3,没有问题!是的,我觉得我朝着正确的方向前进,但我不知道如何让它意识到某个数字被输出了3次。这是我的想法吗?三元组的出现次数推3次,你可以很容易地调整它。请参阅获取唯一值的问题。哦,是的,实际上你的js bin工作得很好。所以它抓取这个数组,然后生成另一个数组,这个数组的数字匹配了3倍。那真的很酷。谢谢确保将条件更改为正好3,现在它大于或等于3,没有问题!我认为OP正在试图检索重复3次的数字。不管怎样,答案不错!我认为OP正在试图检索重复3次的数字。不管怎样,答案不错!