JS判断数组里是否有重复元素的方法小结


Posted in Javascript onMay 21, 2019

本文实例讲述了JS判断数组里是否有重复元素的方法。分享给大家供大家参考,具体如下:

第一种方法:但是下面的这种方法数字字符串类似相同,返回的还是真,有点不靠谱,如果是其它的字符是可以的

var ary11 = new Array("1", "ff", "11", "aa", "2222");
// 验证重复元素,有重复返回true;否则返回false
function mm(a) {
  return /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f" + a.join("\x0f\x0f") + "\x0f");
}
mm(ary11)
alert(mm(ary11))

第二种方法:但是下面的这种方法数字字符串类似相同,返回的也还是真,有点不靠谱,如果是其它的字符是可以的

var ary = ["1", "ff", "11", "aa", "2222"]
var s = ary.join(",") + ",";
for(var i = 0; i < ary.length; i++) {
  if(s.replace(ary[i] + ",", "").indexOf(ary[i] + ",") > -1) {
    alert("数组中有重复元素:" + ary[i]);
    break;
  }
}

第三种方法:这种方法好像不会有什么问题

var ary = new Array("11", "222", "33", "111", "22");
var nary = ary.sort();
for(var i = 0; i < nary.length - 1; i++) {
  if(nary[i] == nary[i + 1]) {
    alert("重复内容:" + nary[i]);
  }
}

第四种方法:这种方法好像不会有什么问题

var ary = new Array("1111", "222", "33", "111", "22");
alert(isRepeat(ary));
// 验证重复元素,有重复返回true;否则返回false
function isRepeat(arr) {
  var hash = {};
  for(var i in arr) {
    if(hash[arr[i]]) {
      return true;
    }
    // 不存在该元素,则赋值为true,可以赋任意值,相应的修改if判断条件即可
    hash[arr[i]] = true;
  }
  return false;
}
Javascript 相关文章推荐
javascript 控制 html元素 显示/隐藏实现代码
Sep 01 Javascript
基于jquery的图片懒加载js
Jun 30 Javascript
用jquery的方法制作一个简单的导航栏
Jun 23 Javascript
最原始的jQuery注册验证方式
Oct 11 Javascript
jquery select2的使用心得(推荐)
Dec 04 Javascript
基于jQuery实现顶部导航栏功能
Dec 27 Javascript
jQuery实现字体颜色渐变效果的方法
Mar 29 jQuery
详解Vuex中mapState的具体用法
Sep 28 Javascript
详解element-ui日期时间选择器的日期格式化问题
Apr 08 Javascript
layer.open回调获取弹出层参数的实现方法
Sep 10 Javascript
Vue vm.$attrs使用场景详解
Mar 08 Javascript
js实现扫雷源代码
Nov 27 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
May 21 #Javascript
vue路由守卫+登录态管理实例分析
May 21 #Javascript
vue实现跨域的方法分析
May 21 #Javascript
vue动态绑定class的几种常用方式小结
May 21 #Javascript
express启用https使用小记
May 21 #Javascript
使用express获取微信小程序二维码小记
May 21 #Javascript
小程序server请求微信服务器超时的解决方法
May 21 #Javascript
You might like
php实现文件下载功能的几个代码分享
2014/05/10 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
js身份证验证超强脚本
2008/10/26 Javascript
ie focus bug 解决方法
2009/09/03 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
JQuery开发的数独游戏代码
2010/10/29 Javascript
javascript获得服务器端控件的ID的实现代码
2011/12/28 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
vue项目中使用scss的方法步骤
2019/05/16 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
Element el-button 按钮组件的使用详解
2021/02/01 Javascript
[03:43]TI9战队采访——PSG.LGD
2019/08/22 DOTA
Python的Django框架中的数据库配置指南
2015/07/17 Python
Python 爬虫模拟登陆知乎
2016/09/23 Python
简单谈谈Python中的闭包
2016/11/30 Python
浅述python2与python3的简单区别
2018/09/19 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
解决python对齐错误的方法
2020/07/16 Python
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
销售行政专员职责
2014/01/03 职场文书
争论的故事教学反思
2014/02/06 职场文书
公司员工安全协议书
2014/11/21 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB