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 相关文章推荐
彪哥1.1(智能表格)提供下载
Sep 07 Javascript
二级域名转向类
Nov 09 Javascript
Jquery从头学起第四讲 jquery入门教程
Aug 01 Javascript
JavaScript更改字符串的大小写
May 07 Javascript
jquery点击缩略图切换视频播放特效代码分享
Sep 15 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
Feb 22 Javascript
微信小程序 wxapp地图 map详解
Oct 31 Javascript
vue中添加与删除关键字搜索功能
Oct 12 Javascript
Vue实现图片与文字混输效果
Dec 04 Javascript
jQuery cookie的公共方法封装和使用示例
Jun 01 jQuery
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
小程序实现文字循环滚动动画
Jun 14 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
PHP 常见郁闷问题答解
2006/11/25 PHP
PHP 多维数组排序(usort,uasort)
2010/06/30 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
2013/12/24 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
CodeIgniter控制器之业务逻辑实例分析
2016/01/20 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
基于PHP实现邮箱验证激活过程详解
2020/10/28 PHP
才发现的超链接js导致网页中GIF动画停止的解决方法
2007/11/02 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
一不小心就做错的JS闭包面试题
2015/11/25 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
jquery中有哪些api jQuery主要API
2017/11/20 jQuery
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
python实现解数独程序代码
2017/04/12 Python
django 常用orm操作详解
2017/09/13 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
2018/04/27 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
详解Python self 参数
2019/08/30 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
2014年母亲节演讲稿范文
2014/05/07 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
房屋租赁合同协议书范本
2014/10/19 职场文书
刑事和解协议书范本
2014/11/19 职场文书
Pytorch 实现变量类型转换
2021/05/17 Python
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
2022/03/03 Python