方法一:
Array.prototype.unique=function(){ var arr=[];//新建一个临时数组 for(var i=0;i<this.length;i++){//遍历当前数组 if(arr.indexOf(this[i])==-1){//当前数组的第i个值在新数组中找不到,则添加到新数组中去 arr.push(this[i]); } } return arr; };
方法二:
Array.prototype.unique=function(){ var arr=[];//新建一个临时数组 var obj={};//新建一个新对象,根据对象属性的唯一性,来判断 for(var i=0;i<this.length;i++){//遍历当前数组,将当前数组的值作为对象的属性,判断是否在对象中存在。 if(obj[this[i]]==undefined){ obj[this[i]]=1; arr.push(this[i]); } } return arr; };
方法三:
Array.prototype.unique=function(){ var arr=[];//新建一个临时数组 for(var i=0;i<this.length;i++){ //遍历当前数组 if(this.indexOf(this[i]==i)){//判断当前数组第i个值是否是第i个数,如果不是,代表数组前面已有相同的值。 arr.push(this[i]); } } return arr; };