首页 > 代码库 > js判断数组是否有重复数据的三种方法

js判断数组是否有重复数据的三种方法

var arr=new Array("aa","bb","cc","dd","aaa","aa");// 方法1:取出数组中的一个值,与其之后的数据挨个比对>>>最容易想到,但运算最麻烦var method1=function(array){        for(var i=0;i<array.length-1;i++)        {            for(var j=i+1;j<array.length;j++)            {                if(array[i]==array[j])                    alert("method1 same data : "+array[i]);            }        }    }// 方法2:数组按顺序排列后,生成一个新数组,如果有相同数据,那么他们肯定是紧挨着的,所以能够轻松找到重复数据。var method2=function(array){    var newarr=array.sort();    for(var i=0;i<newarr.length-1;i++)    {        if (newarr[i]==newarr[i+1]) {            alert("method2 same data : "+array[i]);        };    }}// 方法3:定义一个对象,这个对象的属性名称为array数组的值,属性的值为true。这样,当遇到有相同名称的属性时,说明array有重复数据var method3=function(array){    var newarr={};    for(var i in array)    {        if (newarr[array[i]]) {            alert("method3 same data : "+array[i]);            return;        };        newarr[array[i]]=true;    }}

 

js判断数组是否有重复数据的三种方法