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 相关文章推荐
动态表格Table类的实现
Aug 26 Javascript
jquery 最简单易用的表单验证插件
Feb 27 Javascript
javascript 基础篇4 window对象,DOM
Mar 14 Javascript
jQuery动画animate方法使用介绍
May 06 Javascript
Js冒泡事件详解及阻止示例
Mar 21 Javascript
Jquery 实现弹出层插件
Jan 28 Javascript
浅谈javascript的Touch事件
Sep 27 Javascript
JavaScript获取浏览器信息的方法
Nov 20 Javascript
Vue 父子组件、组件间通信
Mar 08 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
Mar 17 Javascript
一文快速了解JQuery中的AJAX
May 31 jQuery
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
Jul 24 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
php 使用array函数实现分页
2015/02/13 PHP
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
Laravel 队列使用的实现
2019/01/08 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
javascript实现链接单选效果的方法
2015/05/13 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
AngularJS表单基本操作
2017/01/09 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
学python安装的软件总结
2019/10/12 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
英语专业个人求职自荐信
2013/09/21 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
小学生暑假生活总结
2015/07/13 职场文书
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python