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 相关文章推荐
js螺旋动画效果的具体实例
Nov 15 Javascript
浅析JavaScript中的CSS属性及命名规范
Nov 28 Javascript
PHP 数组current和next用法分享
Mar 05 Javascript
JavaScript实现简单图片翻转的方法
Apr 17 Javascript
JavaScript中实现Map的示例代码
Sep 09 Javascript
JS实现的自定义水平滚动字体插件完整实例
Jun 17 Javascript
文件上传的几个示例分享【推荐】
Dec 16 Javascript
js实现产品缩略图效果
Mar 10 Javascript
详解Angular的8个主要构造块
Jun 20 Javascript
vue实现拖拽的简单案例 不超出可视区域
Jul 25 Javascript
vue使用showdown并实现代码区域高亮的示例代码
Oct 17 Javascript
jQuery实现鼠标移入显示蒙版效果
Jan 11 jQuery
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批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
php一个解析字符串排列数组的方法
2015/05/12 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2016/05/13 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
javascript 函数速查表
2010/02/07 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
JS打印gridview实现原理及代码
2013/02/05 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
详解jQuery中的deferred对象的使用(一)
2016/05/27 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
bootstrap weebox 支持ajax的模态弹出框
2017/02/23 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
详解vue+vuex+koa2开发环境搭建及示例开发
2018/01/22 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
python从ftp下载数据保存实例
2013/11/20 Python
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
详解pyqt5 动画在QThread线程中无法运行问题
2018/05/05 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
jupyter 添加不同内核的操作
2021/02/06 Python
新郎父亲婚宴答谢词
2014/01/11 职场文书
法定代表人授权委托书
2014/09/19 职场文书
2014年学校工作总结
2014/11/20 职场文书
2015年教师自我评价范文
2015/03/04 职场文书
党校培训学习心得体会
2016/01/06 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书