javascript - 从 JavaScript 中的数组中提取最重复的值(使用 jQuery)

标签 javascript jquery arrays

我有几个数组要处理。我需要从每个数组中提取最重复的值。

[3, 7, 7, 7] 中,我需要找到值 7。每个数组大小为 4。现在,我不必考虑最重复的值何时不止一个,例如 [3, 7, 7, 7]。所有的值都是一个数字。

我环顾了网络。我找到了几种使数组成为 uniq() 的方法。但是我还没有找到获取重复值的方法。我正在使用 jQuery,但原始 JavaScript 可以很好地完成这项任务。

最佳答案

在效率方面并不完美,但可以完成工作:

var nums = [3, 7, 7, 7];
var freqs = {};
var max_index;
var max_value = -1/0; // Negative infinity.

$.each(nums, function(i, v) {
  if (freqs[v] != undefined) {
    freqs[v]++;
  } else {
    freqs[v] = 1;
  }
});
$.each(freqs, function(num, freq) {
  if (freq > max_value) {
    max_value = freq;
    max_index = num;
  }
});

if (max_index != undefined) {
  alert("Most common element is " + max_index + " with " + max_value + " repetition(s).");
}
​

关于javascript - 从 JavaScript 中的数组中提取最重复的值(使用 jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440295/

相关文章:

jQueryUI Dialog + Firefox + ASP.Net = 访问严格模式调用函数被审查

javascript - 所有输入字段的总数不是正确答案

javascript - 返回最大的数组

php - 针对一组术语的 MySQL 正则表达式

javascript - 使用质因数分解找到数字的最小公倍数(如何模拟素数表)

javascript - 无法运行 knockout

javascript - 如何使用 Raphael Js 将图像放在圆圈内

javascript - 如何检查 Javascript 数组中是否存在多个值

javascript - 当父元素可拖动时防止子元素被拖动

javascript - 在 Javascript 中将所有值作为一个数组列表返回