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对数字的格式化使用说明
Jan 12 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
Nov 25 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
Dec 15 Javascript
快速解决js开发下拉框中blur与click冲突
Oct 10 Javascript
js实现3d悬浮效果
Feb 16 Javascript
React.js绑定this的5种方法(小结)
Jun 05 Javascript
Vue头像处理方案小结
Jul 26 Javascript
vue删除html内容的标签样式实例
Sep 13 Javascript
vue中使用mxgraph的方法实例代码详解
May 17 Javascript
Vue路由前后端设计总结
Aug 06 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
Apr 16 Javascript
vue使用exif获取图片旋转,压缩的示例代码
Dec 11 Vue.js
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中for循环语句的几种变型
2006/11/26 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
javascript 对象比较实现代码
2009/04/27 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
JavaScript中按位“异或”运算符使用介绍
2014/03/14 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
javascript中Function类型详解
2015/04/28 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
使用css3和jquery实现可伸缩搜索框
2014/02/12 HTML / CSS
I.T集团香港官方商城:ITeSHOP.com Hong Kong
2019/02/15 全球购物
大学生简历中个人的自我评价
2013/10/06 职场文书
高中数学教师求职信
2013/10/30 职场文书
环保公益广告语
2014/03/13 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
2014年业务工作总结
2014/11/17 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
婚育证明样本
2015/06/16 职场文书
致接力运动员加油稿
2015/07/21 职场文书
《月光曲》教学反思
2016/02/16 职场文书
创业计划书之餐饮
2019/09/02 职场文书
js中Object.create实例用法详解
2021/10/05 Javascript