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 相关文章推荐
超级兔子让浮动层消失的前因后果
Mar 09 Javascript
jquery.post用法之type设置问题
Feb 24 Javascript
基于jquery步骤进度条源码分享
Nov 12 Javascript
Javascript数组Array方法解读
Mar 13 Javascript
基于javascript实现页面加载loading效果
Sep 15 Javascript
jquery实现全选、不选、反选的两种方法
Sep 06 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
Oct 14 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
Feb 11 Javascript
react 国际化的实现代码示例
Sep 14 Javascript
js实现点击展开隐藏效果(实例代码)
Sep 28 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
Nov 13 Javascript
element-ui如何防止重复提交的方法步骤
Dec 09 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遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
php调用C代码的实现方法
2014/03/11 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
PHP大文件及断点续传下载实现代码
2020/08/18 PHP
css图片自适应大小
2007/11/28 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
bootstrap-Treeview实现级联勾选
2017/11/23 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
2018/12/26 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
python 生成不重复的随机数的代码
2011/05/15 Python
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
2019/12/04 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
Python urllib3软件包的使用说明
2020/11/18 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
纯CSS3实现鼠标悬停提示气泡效果
2014/02/28 HTML / CSS
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
娱乐节目策划方案
2014/06/10 职场文书
药品营销专业毕业生自荐信
2014/07/02 职场文书
青岛导游词
2015/02/12 职场文书
水浒传读书笔记
2015/06/25 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
js Proxy的原理详解
2021/05/25 Javascript