You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中如何仅统计数组内重复出现元素的数量

统计数组中重复元素数量的实现方法

核心思路

  • 第一步:遍历目标数组,统计每个元素的出现频次
  • 第二步:筛选出出现频次大于1的元素,统计这类元素的总个数即可得到最终结果

代码实现

JavaScript 版本

// 常规写法
function countDuplicateElements(arr) {
  const countMap = {};
  for (const item of arr) {
    countMap[item] = (countMap[item] || 0) + 1;
  }
  let duplicateCount = 0;
  for (const count of Object.values(countMap)) {
    if (count > 1) duplicateCount++;
  }
  return duplicateCount;
}

// 简洁写法
const countDuplicate = arr => Object.values(
  arr.reduce((acc, cur) => (acc[cur] = (acc[cur] || 0) + 1, acc), {})
).filter(c => c > 1).length;

// 测试用例
const array1 = [1,2,3,4,5,4,1];
console.log(countDuplicateElements(array1)); // 输出 2
console.log(countDuplicate(array1)); // 输出 2

Python 版本

from collections import Counter

def count_duplicate_elements(arr):
    count_result = Counter(arr)
    return sum(1 for v in count_result.values() if v > 1)

# 测试用例
array1 = [1,2,3,4,5,4,1]
print(count_duplicate_elements(array1)) # 输出 2

以上述示例数组[1,2,3,4,5,4,1]为例,元素1和4的出现频次均为2,其余元素频次为1,最终符合要求的重复元素总个数为2,和预期输出一致。

内容的提问来源于stack exchange,提问作者Ahsan Hafeez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 13:36:03