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 相关文章推荐
input的focus方法使用
Mar 13 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 Javascript
使用javascript实现页面定时跳转总结篇
Sep 21 Javascript
js比较日期大小的方法
May 12 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
Sep 20 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
Jan 22 Javascript
JS实现两周内自动登录功能
Mar 23 Javascript
详解用vue.js和laravel实现微信支付
Jun 23 Javascript
JS获取当前地理位置的方法
Oct 25 Javascript
对angular4子路由&amp;辅助路由详解
Oct 09 Javascript
使用JavaScript解析URL的方法示例
Mar 01 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
Jan 08 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
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
php使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
8个必备的PHP功能开发
2015/10/02 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
jQuery html() in Firefox (uses .innerHTML) ignores DOM changes
2010/03/05 Javascript
简单常用的幻灯片播放实现代码
2013/09/25 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
Django+Vue跨域环境配置详解
2018/07/06 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
微信小程序自定义扫码功能界面的实现代码
2020/07/02 Javascript
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
在Linux下调试Python代码的各种方法
2015/04/17 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
2016/04/12 Python
Python3实现并发检验代理池地址的方法
2016/09/18 Python
Python定时器实例代码
2017/11/01 Python
python实现比较文件内容异同
2018/06/22 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
python输入错误后删除的方法
2019/10/12 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
python中如何打包用户自定义模块
2020/09/23 Python
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
最新奶茶店创业计划书范文
2014/02/08 职场文书
水电工岗位职责
2014/02/12 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书
python unittest单元测试的步骤分析
2021/08/02 Python
使用python绘制分组对比柱状图
2022/04/21 Python
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js