Javascript筛选具有匹配值的数组
如何从数组中筛选并找到重复3次的数字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)); }
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次的数字。不管怎样,答案不错!