可以使用 ES6 的 Map 对象来实现。下面是一个示例代码:

const findMostFrequent = (arr) => {
  const countMap = new Map();
  let maxCount = 0;
  let mostFrequent;

  arr.forEach((item) => {
    const count = countMap.get(item) || 0;
    countMap.set(item, count + 1);

    if (count + 1 > maxCount) {
      maxCount = count + 1;
      mostFrequent = item;
    }
  });

  return mostFrequent;
};

const arr = [1, 2, 3, 2, 1, 1, 4, 2, 4, 2, 5];
const mostFrequentItem = findMostFrequent(arr);
console.log(mostFrequentItem); // 输出: 2

在上面的代码中,我们使用了一个 Map 对象'countMap'来记录每个元素出现的次数。遍历数组'arr',对于每个元素,如果在'countMap'中已经存在,则将其出现次数加 1;如果不存在,则将其添加到'countMap'中,并将其出现次数设置为 1。在遍历过程中,我们还维护了一个变量'maxCount'来记录出现次数最多的元素出现的次数,以及一个变量'mostFrequent'来记录出现次数最多的元素。最后返回'mostFrequent'即可得到结果。

JavaScript 数组中查找出现次数最多的元素 - 使用 ES6 Map

原文地址: https://www.cveoy.top/t/topic/qdBl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录