JavaScript数组去重并统计重复元素及数量
本文介绍两种JavaScript数组去重方法:基于对象计数的单次遍历法,可同步获取重复元素及其出现次数;以及双层循环遍历法,通过标记已处理元素实现去重。文章提供完整代码示例及在线运行工具,帮助开发者掌握数组处理技巧。
JavaScript数组去重与重复项统计方法
本文详细介绍在JavaScript中实现数组去重,并展示如何统计重复元素及其出现次数的具体方法。
利用对象属性计数进行单次遍历
<script>
var arr = ['土豆','土豆','茄子','土豆','茄子','土豆','紫红色'];
function qc(arr){
var resultObj = {};
var result = [];
var result2 = [];
for(var i=0; i<arr.length; i++){
if(result.indexOf(arr[i]) == -1){
result.push(arr[i]);
}else{
if(result2.indexOf(arr[i]) == -1){
result2.push(arr[i]);
}
}
}
var obj = {}
arr.forEach((v,k)=>{
if(obj[v]){
obj[v]++;
}else{
obj[v] = 1;
}
});
resultObj.result = result;
resultObj.result2 = result2;
resultObj.obj = obj;
return resultObj
}
console.log(qc(arr));
</script>
您可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun来测试上述代码,运行结果如下所示:

方法一:利用对象属性计数进行单次遍历
双层循环遍历去重法
<script>
var a=[1,2,3,4,5,3,5,42,0,2,3,0]
function qc(arr){
var result=[];
for(var i=0; i<arr.length; i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i] === arr[j]){
j=++i
}
}
result.push(arr[i])
}
document.write(result)
}
qc(a);
</script>
使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码,可得如下运行结果:

此外,还提供以下相关工具供参考使用:
在线去除重复项工具: http://tools.jb51.net/code/quchong
在线文本去重复工具: http://tools.jb51.net/aideddesign/txt_quchong
字数统计工具: http://tools.jb51.net/code/zishutongji
在线字符统计与编辑工具: http://tools.jb51.net/code/char_tongji
更多关于JavaScript相关内容还可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
相关标签:
