javascript如何判断数组内元素是否重复的方法集锦

var str = new Array();  
比如有这么一组数组,里面放了20个18位的身份证号码  
要判断里面的身份证号码是否有重复  
如何快速判断?


代码如下:

var ary = new Array("111","22","33","111");
    var s = ary.join(",")+",";
    for(var i=0;i<ary.length;i++)
    {
 if(s.replace(ary[i]+",","").indexOf(ary[i]+",")>-1)
 {
   alert("有重复!");
 }
}

代码如下:

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

活用正则表达式里的 \1 (第一个匹配结果)
先用 join() 把数组转换成字符串且夹塞指定的分隔符 \x0f(这种分隔符用户一般是输不进来的),这一步纯粹是为简化且精确脚本而做。
这种模式是我写 MzTreeView 的时候想出来的招数,可以跳过 for 循环达到极端的效率。


代码如下:

var hash = {};
for(var i in arr) {
  if(hash[arr[i]])
    return true;
  hash[arr[i]] = true;
}
return false;

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • JS判断数组中是否有重复值得三种实用方法

    方法一: 复制代码 代码如下: var ary = new Array("111","22","33","111"); var s = ary.join(",")+","; for(var i=0;i<ary.length;i++) { if(s.replace(ary[i]+",","").indexOf(ary[i]+",&qu

  • JavaScript判断数组重复内容的两种方法(推荐)

    前言 一般,我们可能会给数组去重,这个操作并不复杂,执行一个循环就是了.现在,我要做的是,判断数组中是否有重复的内容,如果有,返回 true 否则,返回 false. 思路 把数组变成字符串 循环原数组,拿每一个字段和这个字符串进行比对,看是否有重复 如何拿A字符串和B字符串进行对比,并且要求判断出B字符串中包含过个A字符串呢? 方法一 indexOf() 和 lastIndexOf() 对比法. 首先,我们构建代码: var arr = ["aa","bb",&q

  • JS 在指定数组中随机取出N个不重复的数据

    复制代码 代码如下: <script language="javascript">//从一个给定的数组arr中,随机返回num个不重复项function getArrayItems(arr, num) {    //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组;    var temp_array = new Array();    for (var index in arr) {        temp_array.push(arr[index]

  • js在数组中删除重复的元素自保留一个(两种实现思路)

    例如:var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; 第一种思路是:遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中 用到两个函数:for ...in 和 indexOf() <script type="text/javascript"> var student = ['qiang','ming','tao','li','l

  • 在javascript中,如果删除二维数组中重复的元素

    了很久,始终没想出解决方案,大伙给点思路吧. var fruit = new Array(3); fruit[0] = new Array("苹果", "a"); fruit[1] = new Array("苹果", "a"); fruit[2] = new Array("橘子", "2"); for (i=0; i [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • js获取数组任意个不重复的随机数组元素 原创

    复制代码 代码如下: <script language="javascript"> //从一个给定的数组arr中,随机返回num个不重复项 function getArrayItems(arr, num) { //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组; var temp_array = new Array(); for (var index in arr) { temp_array.push(arr[index]); } //取出的数值项,

  • js 巧妙去除数组中的重复项

    时不时的看下YUI的源码, 总会有些收获. 一. YUI中的源码' 复制代码 代码如下: var toObject = function(a) { var o = {}; for (var i=0, j=a.length; i<j; i=i+1) { // 这里我调整了下, YUI源码中是i<a.length o[a[i]] = true; } return o; }; var keys = function(o) { var a=[], i; for (i in o) { if (o.has

  • JavaScript去掉数组中的重复元素

    在写程序过程中,经常会遇到去除数组中重复元素的需求.要实现这个功能其实并不难. 我们可以用一个两重循环来实现,对于小的数组,这样做当然并无不妥. 但如果我们的数组比较大,里面的元素有上万个.那么用两重循环,效率是极为低下. 下面我们就用js的特性,编写一个高效去除数组重复元素的方法. 复制代码 代码如下: <script> function unique(data){ data = data || []; var a = {}; for (var i=0; i<data.length;

  • javascript如何判断数组内元素是否重复的方法集锦

    var str = new Array();   比如有这么一组数组,里面放了20个18位的身份证号码   要判断里面的身份证号码是否有重复   如何快速判断? 复制代码 代码如下: var ary = new Array("111","22","33","111");     var s = ary.join(",")+",";     for(var i=0;i<ary.len

  • Javascript循环删除数组中元素的几种方法示例

    本文主要跟大家分享了关于Javascript循环删除数组中元素的几种方法,分享出来供大家参考学习,下面来看看详细的介绍: 发现问题 大家在码代码的过程中,经常会遇到在循环中移除指定元素的需求.按照常规的思路,直接一个for循环,然后在循环里面来个if判断,在判断中删除掉指定元素即可.但是实际情况往往不会像预想的那样顺利运行. 下面以一段Javascript代码为例演示这一过程. (function () { var arr = [1,2,2,3,4,5]; var len = arr.lengt

  • C#实现将数组内元素打乱顺序的方法

    本文实例讲述了C#实现将数组内元素打乱顺序的方法.分享给大家供大家参考.具体如下: 1.泛型类代码 //泛型类 class Item<T> { T[] item; //构造函数 public Item(T[] obj) { item = new T[obj.Length]; for (int i = 0; i < obj.Length; i++) { item[i] = obj[i]; } } public Type ShowType() { return typeof(T); } //

  • JavaScript移除数组内重复元素的方法

    本文实例讲述了JavaScript移除数组内重复元素的方法.分享给大家供大家参考.具体分析如下: 这段JS代码用于从数组中移除重复的元素,比如: ['apple', 'orange', 'peach', 'apple', 'strawberry', 'orange'] 去重后返回:s ['apple', 'orange', 'peach', 'strawberry'] 复制代码 代码如下: function removeDuplicates(arr) {     var temp = {};  

  • javascript判断数组内是否重复的方法

    本文实例讲述了javascript判断数组内是否重复的方法.分享给大家供大家参考.具体如下: Array.prototype.del = function(){ var a = {}, c = [], l = this.length; for (var i = 0; i < l; i++) { var b = this[i]; var d = (typeof b) + b; if (a[d] === undefined) { c.push(b); a[d] = 1; } } return c;

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

    本文实例讲述了JS判断数组里是否有重复元素的方法.分享给大家供大家参考,具体如下: 第一种方法:但是下面的这种方法数字字符串类似相同,返回的还是真,有点不靠谱,如果是其它的字符是可以的 var ary11 = new Array("1", "ff", "11", "aa", "2222"); // 验证重复元素,有重复返回true:否则返回false function mm(a) { return /(\x

  • php对数组内元素进行随机调换的方法

    本文实例讲述了php对数组内元素进行随机调换的方法.分享给大家供大家参考.具体分析如下: 这是一个自定义的php数组元素随机调换的函数,php已经有一个内置的同样功能的函数shuffle($Array),这个代码权当参考 // I noticed that there is already a built-in function that // does the same - so don't use mine ;-) // // --> shuffle($Array); // // http:

  • php二维数组合并及去重复的方法

    本文实例讲述了php二维数组合并及去重复的方法.分享给大家供大家参考.具体实现方法如下: $arr = array_merge($labels,$label); //合并需要合并的俩个数组 $key = id;//去重条件 $tmp_arr = array();//声明数组 foreach($arr as $k => $v) { if(in_array($v[$key], $tmp_arr)) //搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true { unset($arr

  • Java判断时间段内文件是否更新的方法

    本文实例讲述了Java判断时间段内文件是否更新的方法.分享给大家供大家参考.具体实现方法如下: 1.定时器 复制代码 代码如下: private Timer timer;    /** * 简易定时器 * @param delay  多久后开始执行.毫秒 * @param period 执行的间隔时间.毫秒 */  public void test(long delay, long period) {          timer = new Timer();          timer.sc

  • php求数组全排列,元素所有组合的方法

    本文实例讲述了php求数组全排列,元素所有组合的方法.分享给大家供大家参考,具体如下: <?php $source = array('pll','我','爱','你','嘿'); sort($source); //保证初始数组是有序的 $last = count($source) - 1; //$source尾部元素下标 $x = $last; $count = 1; //组合个数统计 echo implode(',', $source), "<br>"; //输出第

随机推荐