JavaScript判断数组重复内容的两种方法(推荐)


Posted in Javascript onJune 06, 2016

前言

一般,我们可能会给数组去重,这个操作并不复杂,执行一个循环就是了.现在,我要做的是,判断数组中是否有重复的内容,如果有,返回 true 否则,返回 false.

思路

把数组变成字符串

循环原数组,拿每一个字段和这个字符串进行比对,看是否有重复

如何拿A字符串和B字符串进行对比,并且要求判断出B字符串中包含过个A字符串呢?

方法一 indexOf() 和 lastIndexOf() 对比法.

首先,我们构建代码:

var arr = ["aa","bb","cc","bb","aa"];
arrRepeat(arr);

如上,我们要用一个arrRepeat(arr)的校验函数并执行,下面来构建这个函数

function arrRepeat(arr){
var arrStr = JSON.stringify(arr),str;
for (var i = 0; i < arr.length; i++) {
if (arrStr.indexOf(arr[i]) != arrStr.lastIndexOf(arr[i])){
return true;
}
};
return false;
}

OK,运行成功.

JavaScript判断数组重复内容的两种方法(推荐)

原理特别简单,就是,数组中的字段,在由数组变成的字符串中的首次出现位置和最后一次出现位置是否一致,如果不一致,就说明这个重复出现了.

方法二 match() 正则对比方法

首先,和上面一样,我们构建代码:

var arr = ["aa","bb","cc","bb","aa"];
arrRepeat(arr);

然后,我们重新构建arrRepeat(arr)函数

function arrRepeat(arr){
var arrStr = JSON.stringify(arr),str;
for (var i = 0; i < arr.length; i++) {
if ((arrStr.match(new RegExp(arr[i],"g")).length)>1){
return true;
}
};
return false;
}

原理是查找确定的重复次数,如果是大于1的话,就肯定是重复了.注意,这里是能够准确的查找出出现了几次的哦!所以,这个方法其实有更广泛的用途.

OK,运行又一次成功

JavaScript判断数组重复内容的两种方法(推荐)

总结

如果仅仅是比对第一个方法其实足够用了.

第二个方法可以查找出现的真实次数,比如重复了4次,就能找到4.具体的用途自己思考咯.

构建包含变量的正则的方法new RegExp(arr[i],"g")也是问别人才问出来的.

其实我先想到的是第二个思路,正则的问题困扰半天,终于解决了.才想到第一个思路的.

以上所述是小编给大家介绍的JavaScript判断数组重复内容的两种方法(推荐),希望能够帮助到大家!

Javascript 相关文章推荐
Javascript 函数中的参数使用分析
Mar 27 Javascript
Tinymce+jQuery.Validation使用产生的BUG
Mar 29 Javascript
FileUpload 控件 禁止手动输入或粘贴的实现代码
Apr 07 Javascript
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
Aug 14 Javascript
JS基于面向对象实现的拖拽功能示例
Dec 20 Javascript
bootstrap输入框组件使用方法详解
Jan 19 Javascript
Java与JavaScript中判断两字符串是否相等的区别
Mar 13 Javascript
80%应聘者都不及格的JS面试题
Mar 21 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
Apr 16 jQuery
基于Node.js搭建hexo博客过程详解
Jun 25 Javascript
vue cli3 配置proxy代理无效的解决
Oct 30 Javascript
vue+iview使用树形控件的具体使用
Nov 02 Javascript
JavaScript数组的定义及数字操作技巧
Jun 06 #Javascript
浅析$.getJSON异步请求和同步请求
Jun 06 #Javascript
使用RequireJS库加载JavaScript模块的实例教程
Jun 06 #Javascript
ionic 上拉菜单(ActionSheet)实例代码
Jun 06 #Javascript
深入理解JavaScript 函数
Jun 06 #Javascript
Node.js的Web模板引擎ejs的入门使用教程
Jun 06 #Javascript
javascript url几种编码方式详解
Jun 06 #Javascript
You might like
三个类概括PHP的五种设计模式
2012/09/05 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
php连接与操作PostgreSQL数据库的方法
2014/12/25 PHP
php+mysqli数据库连接的两种方式
2015/01/28 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
浅谈vue权限管理实现及流程
2020/04/23 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
使用TensorFlow实现SVM
2018/09/06 Python
Django web框架使用url path name详解
2019/04/29 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
Python编写打字训练小程序
2019/09/26 Python
七一党建活动方案
2014/01/28 职场文书
市场营销策划方案
2014/06/11 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
社区文艺活动方案
2014/08/19 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
企业公益活动策划方案
2014/08/24 职场文书
大一新生检讨书
2014/10/29 职场文书
公司2014年度工作总结
2014/12/10 职场文书
通报表扬范文
2015/01/17 职场文书
飞屋环游记观后感
2015/06/08 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书