JS实现数组去重,显示重复元素及个数的方法示例
本文实例讲述了JS实现数组去重,显示重复元素及个数的方法。分享给大家供大家参考,具体如下:
<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测试上述代码,可得如下运行结果:
双层for循环遍历
<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测试上述代码,可得如下运行结果:
PS:这里再为大家提供几款相关工具供大家参考使用:
在线去除重复项工具:
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基于开关思想实现的数组去重功能【案例】
本文实例讲述了JS基于开关思想实现的数组去重功能.分享给大家供大家参考,具体如下: 场景: 比如给你一个数组var Arr = [ 25, 70, 60, 70, 65, 65, 80 ],最终要得到去重后的新数组[25,70,60,65,80]. 思路: 1.先定义个空的新数组newArr; 2.遍历旧数组Arr 中所有元素; 3.定义一个isZai变量表示开关,默认为false状态; 4.遍历新数组所有元素与旧数组元素比较(Arr[ i ] == newArr[ j ]); 5.如果该元素存
-
JS实现的Object数组去重功能示例【数组成员为Object对象】
本文实例讲述了JS实现的Object数组去重功能.分享给大家供大家参考,具体如下: 目标:实现成员为 Object 的数组的去重. 注意,这里的数组成员为 Object,而不是数值或者字符串. 调用方法: arr = distinct_arr_element(arr); 函数: /* * 在数组中去除重复项() */ var distinct_arr_element = function( arr ){ if( !arr ) return null ; var resultArr = []; $
-
js数组去重的方法总结
一.普通的方法去重 1.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(array[i]); } } return te
-
JS实现的JSON数组去重算法示例
本文实例讲述了JS实现的JSON数组去重算法.分享给大家供大家参考,具体如下: 需求描述:去除JSON数组中paymode字段相同的项,并将paymoney累加. paylist:[{paymode:'1',payname:"现金",paymoney:"20"}, {paymode:'2',payname:"支付宝",paymoney:"50"},{paymode:'1',payname:"现金",paym
-
JS数组去重常用方法实例小结【4种方法】
本文实例讲述了JS数组去重常用方法.分享给大家供大家参考,具体如下: js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.indexOf = Array.prototype.indexOf || function(item) { for (var i = 0, j = this.length; i < j; i++) { if (this[i] === it
-
JS实现的合并多个数组去重算法示例
本文实例讲述了JS实现的合并多个数组去重算法.分享给大家供大家参考,具体如下: var arr1 = ['a','b']; var arr2 = ['a','c','d']; var arr3 = [1,'d',undefined,true,null]; //合并两个数组,去重 var concat_ = function(arr1,arr2){ //不要直接使用var arr = arr1,这样arr只是arr1的一个引用,两者的修改会互相影响 var arr = arr1.concat();
-
JS实现数组去重及数组内对象去重功能示例
本文实例讲述了JS实现数组去重及数组内对象去重功能.分享给大家供大家参考,具体如下: 大家在写项目的时候一定遇到过这种逻辑需求,就是给一个数组进行去重处理,还有一种就是给数组内的对象根据某一个属性,比如id,进行去重,下面我写了两个函数,都是可以达到这个效果的,一个是纯ES5的去重办法,一个是用了ES6的 Array.from(new Set())和ES5的reduce来进行去重 我先定义两个数组吧 var arr = [1,2,3,5,3,4,5,6,6,"test","t
-
史上最全JavaScript数组去重的十种方法(推荐)
一.前言: 我们在实际工作中,或者在面试找工作时,都会用到或者被问到一个问题,那就是"数组如何去重".是的,这个问题有很多种解决方案,看看下面的十种方式吧! 二.数组去重方式大汇总: Methods 1: 思路:定义一个新数组,并存放原数组的第一个元素,然后将元素组一一和新数组的元素对比,若不同则存放在新数组中. function unique(arr){ var res = [arr[0]]; for(var i=1; i<arr.length; i++){ var repea
-
JS数组去重的6种方法完整实例
本文实例讲述了JS数组去重的6种方法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>www.jb51.net 数组去重</title> </head> <body> <script> //1.filter:(indexOf)方法创建一个新的数组,新数组中的元素是通过检查指定
-
JS实现数组去重,显示重复元素及个数的方法示例
本文实例讲述了JS实现数组去重,显示重复元素及个数的方法.分享给大家供大家参考,具体如下: <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){ re
-
JS实现数组去重方法总结(六种方法)
方法一: 双层循环,外层循环元素,内层循环时比较值 如果有相同的值则跳过,不相同则push进数组 Array.prototype.distinct = function(){ var arr = this, result = [], i, j, len = arr.length; for(i = 0; i < len; i++){ for(j = i + 1; j < len; j++){ if(arr[i] === arr[j]){ j = ++i; } } result.push(arr[
-
js数组中去除重复值的几种方法
在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的数组,然后用新数组去找要去重数组的值,如果找不到则使用.push添加到新数组,最后把新数组返回回去就行了 看不懂没关系,上代码就比较容易懂了 function fun(arr){ let newsArr = []; for (let i = 0; i < arr.length; i++) { if(
-
七种JS实现数组去重的方式
目录 1.利用Set()+Array.from() 2.利用两层循环+数组的splice方法 3.利用数组的indexOf方法 4.利用数组的includes方法 5.利用数组的filter()+indexOf() 6.利用Map() 7.利用对象 例:将下面数组去除重复元素(以多种数据类型为例) const arr = [1, 2, 2, 'abc', 'abc', true, true, false, false, undefined, undefined, NaN, NaN] 1.利用Se
-
java去除数组重复元素的四种方法
方法1: 需要一个存储去重后元素的数组,然后两层循环,外层遍历原数组,内容逐个判断是否和之后的元素重复,然后再提出来存入新的数组.方法System.arraycopy(被复制的数组,起始下标,接收的新数组,起始下标,结束下标);可以直接复制数组,既然这样,我就没必要纠结新数组的长度了,直接声明一个跟原数组长度一样的临时数组,只要记录下去重后的元素个数,然后就可以确定去重后数组长度再去将临时数组拷贝到新数组就行了. package testPro.test; public class testDi
-
JS实现数组去重的11种方法总结
目录 1.ES5常用:利用for嵌套for,然后splice去重 2.ES6常用:Set去重 3.indexOf去重 4.sort()排序 5.对象属性不能相同(不建议) 6.includes() 7.hasOwnProperty 8.filter 9.利用递归去重 10.Map去重 11.reduce+includes 1.ES5常用:利用for嵌套for,然后splice去重 function unique(arr) { for (var i = 0; i < arr.length; i++
-
java检查数组是否有重复元素的方法
本文实例讲述了java检查数组是否有重复元素的方法.分享给大家供大家参考.具体实现方法如下: //判断数组中是否有重复值 public static boolean checkRepeat(String[] array){ Set<String> set = new HashSet<String>(); for(String str : array){ set.add(str); } if(set.size() != array.length){ return false;//有重
-
java去除已排序数组中的重复元素
题目描述 给定一个已排序的数组,去除数组中的重复元素,只保留一个重复的元素,并且返回新的数组长度. 要求: 不要给数组分配额外的空间,你必须使用常量的内存大小进行原地操作. 例如: 给出数组A=[1,1,2],你的函数调用之后必须返回长度length=2,并且A现在变成[1,2]. 输入 一个已排序的数组,例如[1,1,2]. 输出 返回数组新的长度,例如length=2. 快慢指针法 设置fast指针遍历数组,slow指针指向不重复元素的下一位. public static int remov
-
js获取对象、数组的实际长度,元素实际个数的实现代码
js获取对象.数组的实际长度,元素实际个数的实现代码 /*获取对象.数组的长度.元素个数 *@param obj 要计算长度的元素,可以为object.array.string */ function count(obj){ var objType = typeof obj; if(objType == "string"){ return obj.length; }else if(objType == "object"){ var objLen = 0; for(v
随机推荐
- AngularJS入门教程引导程序
- Go语言并发技术详解
- PowerShell 入门基础教程
- Sql Server数据库各版本功能对比
- 快速将Vue项目升级到webpack3的方法步骤
- 在VMware虚拟机下安装Linux的图文教程(高级安装)
- Canvas实现动态的雪花效果
- C#Web应用程序入门经典学习笔记之一
- MySQL Event Scheduler(事件调度器)
- php lcg_value与mt_rand生成0~1随机小数的效果对比分析
- js常用函数 不错
- 金山反病毒20041215_日报
- c#文件名/路径处理方法示例
- 详解Android中实现热更新的原理
- 使用RxJava中遇到的一些”坑“
- Android显示网络图片实例
- SpringBoot Admin 使用指南(推荐)
- Python3解释器知识点总结
- Unity3D实验室之iOS真机闪退的解决方法
- 详解JavaScript 新语法之Class 的私有属性与私有方法