如何在Dart中统计列表重复元素数量?求forEach实现方法
使用forEach()统计列表中重复元素的个数
直接上实现代码,完美匹配你的需求:
const arr = ['a', 'b', 'a', 'c', 'e', 'c', 'a']; function countDuplicateElements(arr) { // 用对象存储每个元素的出现次数 const counts = {}; // 遍历数组,统计每个元素的出现次数 arr.forEach(item => { // 元素已存在则计数+1,不存在则初始化为1 counts[item] = (counts[item] || 0) + 1; }); let duplicateNum = 0; // 遍历计数结果,统计出现次数>1的元素数量 Object.values(counts).forEach(count => { if (count > 1) { duplicateNum++; } }); return duplicateNum; } // 测试调用 console.log(countDuplicateElements(arr)); // 输出2
核心逻辑说明:
- 第一个
forEach遍历原始数组,把每个元素的出现次数记录到counts对象中,键是元素值,值是对应出现次数 - 第二个
forEach遍历counts的所有计数结果,筛选出次数大于1的元素,每遇到一个就给计数器加1 - 最终返回的计数器值就是重复元素的个数,对应示例里的2
内容的提问来源于stack exchange,提问作者Heike Heinrich
相关产品推荐
相关产品推荐

