for(var i =0; i < arr1.length; i++){for(var j = i +1; j < arr1.length; j++){if(arr1[i]== arr1[j]){
arr1.splice(j,1);
j--;
i--;}}}
方 法 四 : 单层for循环
for(var i =0; i < arr1.length; i++){if(arr1[i]== arr1[i +1]){
arr1.splice(i,1);
i--;}}
方 法 五 :indexOf()
for(var i =0; i < arr1.length; i++){if(arr1.indexOf(arr1[i])!= i){
arr1.splice(i,1);//删除数组元素后数组长度减1后面的元素前移
i--;//数组下标回退}}
方 法 六 : filter
var arr1 = arr1.filter(function(value, index, self){return self.indexOf(value)=== index;});
方 法 七 : 利用空对象
var obj ={};var newArr =[];for(var i =0; i < arr1.length; i++){if(!obj[arr1[i]]){
obj[arr1[i]]=true;
newArr.push(arr1[i]);}}
方 法 八 : 借助新数组
var newArr =[];for(var i =0; i < arr1.length; i++){var repArr =[];//接收重复数据后面的下标//内层循环找出有重复数据的下标for(var j = i +1; j < arr1.length; j++){if(arr1[i]== arr1[j]){
repArr.push(j);//找出后面重复数据的下标}}if(repArr.length ==0){//若重复数组没有值说明其不是重复数据
newArr.push(arr1[i]);}}
方 法 九 : 此方法没有借助新数组直接改变原数组,并且去重后的数组被排序
var end;//临时变量用于对比重复元素
arr1.sort();//将数重新组排序
end = arr1[0];for(var i =1; i < arr1.length; i++){if(arr1[i]== end){//当前元素如果和临时元素相等则将此元素从数组中删除
arr1.splice(i,1);
i--;}else{
end = arr1[i];}}