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 相关文章推荐
MSN消息提示类
Sep 05 Javascript
表单的焦点顺序tabindex和对应enter键提交
Jan 04 Javascript
js+html获取系统当前时间
Nov 10 Javascript
Node.js使用Express.Router的方法
Nov 14 Javascript
seajs下require书写约定实例分析
May 16 Javascript
使用JS实现导航切换时高亮显示的示例讲解
Aug 22 Javascript
Vue-Router的使用方法
Sep 05 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
Sep 06 Javascript
小程序api实现promise封装过程解析
Nov 21 Javascript
详解Vue 单文件组件的三种写法
Feb 19 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
Mar 07 Javascript
JavaScript代码实现微博批量取消关注功能
Feb 05 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 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
JavaScript Eval 函数使用
2010/03/23 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
Ajax搜索结果页面下方的分页按钮的生成
2012/04/05 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
Postman如何实现参数化执行及断言处理
2020/07/28 Javascript
玩转python爬虫之cookie使用方法
2016/02/17 Python
Python 创建守护进程的示例
2020/09/29 Python
Django中ORM的基本使用教程
2020/12/22 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
销售高级职员求职信
2013/10/29 职场文书
大学生校园创业计划书
2014/02/08 职场文书
留学经费担保书
2014/05/12 职场文书
2014小学一年级班主任工作总结
2014/12/05 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
感恩主题班会教案
2015/08/12 职场文书
关于职业道德的心得体会
2016/01/18 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS