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 相关文章推荐
Webkit的跨域安全问题说明
Sep 13 Javascript
JS跨域总结
Aug 30 Javascript
jQuery基本选择器选择元素使用介绍
Apr 18 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
Nov 05 Javascript
总结JavaScript三种数据存储方式之间的区别
May 03 Javascript
Vue.js父与子组件之间传参示例
Feb 28 Javascript
微信小程序 Buffer缓冲区的详解
Jul 06 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
Aug 19 jQuery
快速搭建Node.js(Express)用户注册、登录以及授权的方法
May 09 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
Sep 14 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
Nov 07 Javascript
Node.js实现断点续传
Jun 23 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
PHPMailer邮件发送的实现代码
2013/05/04 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
Jquery颜色选择器ColorPicker实现代码
2012/11/14 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
Javascript实现前端简单的路由实例
2016/09/11 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
2018/11/02 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
在vue中给后台接口传的值为数组的格式代码
2020/11/12 Javascript
[01:02]DOTA2辉夜杯决赛日 CDEC.Y对阵VG赛前花絮
2015/12/27 DOTA
python简单程序读取串口信息的方法
2015/03/13 Python
Python中operator模块的操作符使用示例总结
2016/06/28 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
Python中@property的理解和使用示例
2019/06/11 Python
Python 复平面绘图实例
2019/11/21 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
Marc Jacobs彩妆官网:Marc Jacobs Beauty
2017/07/03 全球购物
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
地质工程专业毕业生求职信
2014/08/08 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
学习计划书怎么写
2014/09/15 职场文书
综治工作汇报材料
2014/10/27 职场文书
2014年实习期工作总结
2014/11/27 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
SpringBoot 集成Redis 过程
2021/06/02 Redis
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js