Yam*_*ine 0 javascript arrays sorting
我的问题实际上类似于:在JavaScript中从数组中提取最重复的值(使用jQuery)
我找到了这个,但它总是只返回一个值200.
var arr = [100,100,200,200,200,300,300,300,400,400,400];
var counts = {}, max = 0, res;
for (var v in arr) {
counts[arr[v]] = (counts[arr[v]] || 0) + 1;
if (counts[arr[v]] > max) {
max = counts[arr[v]];
res = arr[v];
}
}
console.log(res + " occurs " + counts[res] + " times");Run Code Online (Sandbox Code Playgroud)
请帮我回报价值不仅仅是一个......
结果是这样的:200,300,400.请帮助谢谢!
您必须迭代计数才能找到最大发生的结果.
var arr = [100,100,200,200,200,300,300,300,400,400,400];
var counts = {}, max = 0, res;
for (var v in arr) {
counts[arr[v]] = (counts[arr[v]] || 0) + 1;
if (counts[arr[v]] > max) {
max = counts[arr[v]];
res = arr[v];
}
}
var results = [];
for (var k in counts){
if (counts[k] == max){
//console.log(k + " occurs " + counts[k] + " times");
results.push(k);
}
}
console.log(results);Run Code Online (Sandbox Code Playgroud)