JavaScript 数组去重并统计重复元素出现的次数实例
1、方法一
var arr = [1, 2, 3, 1, 2, 4]; function arrayCnt(arr) { var newArr = []; for(var i = 0; i < arr.length; i++) { if(newArr.indexOf(arr[i]) == -1) { newArr.push(arr[i]) } } var newarr2 = new Array(newArr.length); for(var t = 0; t < newarr2.length; t++) { newarr2[t] = 0; } for(var p = 0; p < newArr.length; p++) { for(var j = 0; j < arr.length; j++) { if(newArr[p] == arr[j]) { newarr2[p]++; } } } for(var m = 0; m < newArr.length; m++) { console.log(newArr[m] + "重复的次数为:" + newarr2[m]); } } arrayCnt(arr);
2、方法二(set方法去重)
var arr = [1, 2, 3, 1, 2, 4]; function arrayCnt(arr) { var newArr = []; //使用set进行数组去重 newArr = [...new Set(arr)]; var newarr2 = new Array(newArr.length); for(var t = 0; t < newarr2.length; t++) { newarr2[t] = 0; } for(var p = 0; p < newArr.length; p++) { for(var j = 0; j < arr.length; j++) { if(newArr[p] == arr[j]) { newarr2[p]++; } } } for(var m = 0; m < newArr.length; m++) { console.log(newArr[m] + "重复的次数为:" + newarr2[m]); } } arrayCnt(arr);
以上这篇JavaScript 数组去重并统计重复元素出现的次数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
JS基于对象的特性实现去除数组中重复项功能详解
本文实例讲述了JS基于对象的特性实现去除数组中重复项功能.分享给大家供大家参考,具体如下: 数组去重的方法有很多,不同的方法的效率也不相同.如前面文章JS实现的数组去除重复数据算法小结中就总结分析了4种实现方法.这里介绍一种高效数组去重的方法:根据JS对象的特性去除数组中重复项的方法. 一.JS对象的特性(本文中所使用的特性):key始终唯一 引例:说明对象key值的唯一性,即当重新给js已有属性赋值的时候,实际上是覆盖了key,而不是新建了key var t={name:'张三',age:20
-
js判断数组是否包含某个字符串变量的实例
最近碰到一个这样的现象,后台返回的数据中,数组里面有一些有变量值,有一些没有变量值. 举个例子,比如后台返回的例子是这样的: var arr=[ { "status":"success", "activerUserData": [ {"activeUser":"张珊","activeUserMobile":"15542175311","countNum&qu
-
Jackson将json string转为Object,org.json读取json数组的实例
从json文件读取json string或者自定义json string,将其转为object.下面采用的object为map,根据map读取json的某个数据,可以读取第一级的数据name,后来发现想转成JsonArray读取"red"时没撤了,只好用了其他方法. 最后用org.json包解决了(readJsonArray函数),有空再看看有没有更好的办法. JSON文件如下: { "name":"name", "id":&
-
Vue.js在数组中插入重复数据的实现代码
1.在默认的情况下,Vue.js默认不支持往数组中加入重复的数据.可以使用track-by="$index"来实现. 2.不使用track-by="$index"的数组插入,数组不支持重复数据的插入 2.1 JavaScript代码 <script type="text/javascript" src="../js/vue-1.0.21.js"></script> <script type=&q
-
分析JavaScript数组操作难点
以下内容是学习JavaScript数组的时候总结的经验以及需要注意的点. 不要用 for_in 遍历数组 这是 JavaScript 初学者常见的误区.for_in 用于遍历对象中包括原型链上的所有可枚举的(enumerable)的 key,本来不是为遍历数组而存在. 使用 for_in 遍历数组有三点问题: 1.遍历顺序不固定 JavaScript 引擎不保证对象的遍历顺序.当把数组作为普通对象遍历时同样不保证遍历出的索引顺序. 2.会遍历出对象原型链上的值. 如果你改变了数组的原型对象(比如
-
js 两数组去除重复数值的实例
实例如下: //两数组去除重复数值 mergeArray: function(arr1, arr2) { for (var i = 0; i < arr1.length; i++) { for (var j = 0; j < arr2.length; j++) { if (arr1[i] === arr2[j]) { arr1.splice(i, 1); //利用splice函数删除元素,从第i个位置,截取长度为1的元素 } } } //alert(arr1.length) for (var
-
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
本文实例讲述了JS笛卡尔积算法与多重数组笛卡尔积实现方法.分享给大家供大家参考,具体如下: js 笛卡尔积算法的实现代码,据对象或者数组生成笛卡尔积,并介绍了一个javascript多重数组笛卡尔积的例子,以及java实现笛卡尔积的算法与实例代码. 一.javascript笛卡尔积算法代码 例子,根据对象或者数组生成笛卡尔积. //笛卡儿积组合 function descartes(list) { //parent上一级索引;count指针计数 var point = {}; var resul
-
最实用的JS数组函数整理
我们以前就给大家整理过关于JS数组相关的内容,这次我们给大家整理的是非常实用的JS数组操作技巧和写法,学习下吧. instanceof 检测一个对象是否是数组;(用来对付复杂数据类型;) // 简单数据类型 typeof ; A instanceof B // A是不是B造出来的; 例: var arr = [1,2,3]; console.log(arr instanceof Array); //arr属不属于Array类型; Array.isArray( ) Array.isArray(参数
-
JavaScript 数组去重并统计重复元素出现的次数实例
1.方法一 var arr = [1, 2, 3, 1, 2, 4]; function arrayCnt(arr) { var newArr = []; for(var i = 0; i < arr.length; i++) { if(newArr.indexOf(arr[i]) == -1) { newArr.push(arr[i]) } } var newarr2 = new Array(newArr.length); for(var t = 0; t < newarr2.length;
-
详解javascript数组去重问题
首先,我想到的是另建一个结果数组,用来存储原始数组中不重复的数据.遍历原始数组依次跟结果数组中的元素进行比较,检测是否重复.于是乎,我写出了如下代码A: Array.prototype.clearRepetitionA = function(){ var result = []; var isRepetition; for(var i=0; i<this.length; i++){ isRepetition = false; for(var j=0; j<result.length; j++)
-
javascript数组去重方法分析
本文实例讲述了javascript数组去重方法.分享给大家供大家参考,具体如下: 方法一. 思路:创建一个新的空数组,循环遍历旧数组,用indexOf()方法,可以取得元素在数组中的位置,如果值为-1表示不存在.那么新数组用indexOf去获取老数组的每一个元素,如果值为-1表示不存在,就把他push到新数组里,最后输出新数组即去重后的数组 var arr=[24,56,74,89,24,56,78,09,24]; var new_arr=[]; for(var i=0;i<arr.length
-
javascript数组去重常用方法实例分析
本文实例讲述了javascript数组去重常用方法.分享给大家供大家参考,具体如下: 数组去除重复值是面试常考内容,也是很容易用到的一个技巧,下面就几种去重的方法进行介绍. 首先是最常见的方法,也就是添加一个临时数组,将原数组遍历,加入临时数组,每次加入时判断待加入的元素是否存在于临时数组中,代码如下: // 对数组进行去重操作,只考虑数组中元素为数字或字符串,返回一个去重后的数组 //第一种方法,遍历,将没有的插入临时数组 function uniqArray1(arr) { var n=[]
-
JavaScript数组去重的多种方法(四种)
数组去重,一般需求是给你一个数组,调用去重方法,返回数值副本,副本中没有重复元素.一般来说,两个元素通过 === 比较返回 true 的视为相同元素,需要去重,所以,1 和 "1" 是不同的元素,1 和 new Number(1) 是不同的元素,{} 和 {} 是不同的元素(引用不同).(当然如果需求认为 {} 和 {} 算作相同的元素,那么解法就不一样了) method 1 使用两重循环 function unique(arr) { var res = []; for(var i =
-
JavaScript数组去重的两种方法推荐
1.数组去重: Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法: 方法一:利用indexOf方法: var aa=[1,3,5,4,3,3,1,4] function arr(arr) { var result=[] for(var i=0; i<arr.length; i++){ if(result.indexOf(arr[i])==-1){ result.push(arr[i]) } } console.log(result) } arr(aa) 方法二:
-
JavaScript数组去重的五种方法
javascript数组去重是一个比较常见的需求,解决方法也有很多种,网上都可以找到答案的,下面小编给大家整理了一份关于同类型的数组去重的方法,先给大家介绍下简单实现思路. 思路: 遍历数组,一一比较,比较到相同的就删除后面的 遍历数组,一一比较,比较到相同的,跳过前面重复的,不相同的放入新数组 任取一个数组元素放入新数组,遍历剩下的数组元素任取一个,与新数组的元素一一比较,如果有不同的,放入新数组. 遍历数组,取一个元素,作为对象的属性,判断属性是否存在 1. 删除后面重复的: functio
-
JavaScript数组去重算法实例小结
本文实例总结了JavaScript数组去重算法.分享给大家供大家参考,具体如下: 测试用例: arr = ["1",3,"1",1,4,5,1,"2",5,1,{"name":"li","age":20},2,4,3,{"name":"li","age":20},""]; 方法一:借助于临时数组与indexO
-
JS判断数组里是否有重复元素的方法小结
本文实例讲述了JS判断数组里是否有重复元素的方法.分享给大家供大家参考,具体如下: 第一种方法:但是下面的这种方法数字字符串类似相同,返回的还是真,有点不靠谱,如果是其它的字符是可以的 var ary11 = new Array("1", "ff", "11", "aa", "2222"); // 验证重复元素,有重复返回true:否则返回false function mm(a) { return /(\x
-
JavaScript数组去重的方法总结【12种方法,号称史上最全】
本文实例总结了JavaScript数组去重的方法.分享给大家供大家参考,具体如下: 数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码.如果是被提问到,数组去重的方法有哪些?你能答出其中的10种,面试官很有可能对你刮目相看. 在真实的项目中碰到的数组去重,一般都是后台去处理,很少让前端处理数组去重.虽然日常项目用到的概率比较低,但还是需要了解一下,以防面试的时候可能回被问到. 注:写的匆忙,加上这几天有点忙,还没有非常认真核对过,不过思路是没有问题,可能一些小细节出错而已.
随机推荐
- Python编程中的文件操作攻略
- Angular.js中angular-ui-router的简单实践
- JScript 和 VBScript 正则表达式第1/2页
- tomcat中Servlet对象池介绍及如何使用
- Pythont特殊语法filter,map,reduce,apply使用方法
- 在JavaScript的正则表达式中使用exec()方法
- js用于树型结构级联选择
- 基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
- C#将字节数组转换成数字的方法
- MySQL全局共享内存介绍
- oracle 11g 设置用户密码大小写敏感测试
- JavaScript编写九九乘法表(两种任选)
- dedecms中如何在栏目列表和文章页面中获得当前栏目标题
- TextView实现图文混合编排的方法
- 在ASP.NET中调用存储过程方法新解
- 浅谈RxJava+Retrofit+OkHttp 封装使用
- asp.net部署到IIS常见问题的解决方法
- 详解vue+css3做交互特效的方法
- vue指令之表单控件绑定v-model v-model与v-bind结合使用
- java实现24点游戏