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 相关文章推荐
URL编码转换,escape() encodeURI() encodeURIComponent()
Dec 27 Javascript
javascript appendChild,innerHTML,join性能比较代码
Aug 29 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
Sep 10 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
Jul 25 Javascript
js操作label给label赋值及取label的值示例
Nov 07 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
Oct 25 Javascript
关于使用js算总价的问题
Jun 23 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
Nov 04 Javascript
微信小程序自定义弹窗wcPop插件
Nov 19 Javascript
详解小程序循环require之坑
Mar 08 Javascript
vue.js多页面开发环境搭建过程
Apr 24 Javascript
详解CocosCreator项目结构机制
Apr 14 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
图解上海144收音机
2021/03/02 无线电
php设计模式 Composite (组合模式)
2011/06/26 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
Vue对象赋值视图不更新问题及解决方法
2019/06/03 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
OpenCV 模板匹配
2019/07/10 Python
超实用的 30 段 Python 案例
2019/10/10 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
vivo智能手机官方商城:vivo
2016/09/22 全球购物
2015年幼儿教师个人工作总结
2015/05/20 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL
Python函数中apply、map、applymap的区别
2021/11/27 Python