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 相关文章推荐
Jquery 最近浏览过的商品的功能实现代码
May 14 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
Sep 12 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
Dec 04 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
Dec 16 Javascript
js 限制input只能输入数字、字母和汉字等等
Dec 18 Javascript
js禁止页面刷新与后退的方法
Jun 08 Javascript
认识Knockout及如何使用Knockout绑定上下文
Dec 25 Javascript
Node.js开发者必须了解的4个JS要点
Feb 21 Javascript
JS锚点的设置与使用方法
Sep 05 Javascript
jQuery操作cookie的示例代码
Jun 05 jQuery
解决vant title-active-color与title-inactive-color不生效问题
Nov 03 Javascript
JavaScript实现打字游戏
Feb 19 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
使用 MySQL Date/Time 类型
2008/03/26 PHP
PHP is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
php发送邮件的问题详解
2015/06/22 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
详解JavaScript中数组和字符串的lastIndexOf()方法使用
2016/03/13 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
Vue.use源码分析
2017/04/22 Javascript
Angular2学习笔记之数据绑定的示例代码
2018/01/03 Javascript
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
使用python绘制温度变化雷达图
2019/10/18 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
班组长安全职责
2014/01/05 职场文书
学习礼仪心得体会
2014/09/01 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
Python离线安装openpyxl模块的步骤
2021/03/30 Python
matplotlib画混淆矩阵与正确率曲线的实例代码
2021/06/01 Python
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers
Java 在线考试云平台的实现
2021/11/23 Java/Android