数组去重

var arr = [1,2,3,3,1];
  var flag;  //用于小循环中判断是否相同
  var newArr = [];
  newArr[0] = arr[0];
  //循环的思路: 把arr里面的数据一个一个拿出来和newArr中的值相比,如果不相同则将arr中的值放入newArr中,如果有一个重复,说明已经存在了,则不放入新数组newArr中.
  for(var i = 1; i < arr.length; i++){
    var len = newArr.length;
    flag = false;  //每一次大循环执行,都要将flag初始化为false.
    //小循环是为了让arr里面的的某一个数据和newArr里面的所有数据比较
    for(var j = 0; j < len; j++){  
      if(newArr[j]===arr[i]){  //如果能进行到此处,说明arr中与newArr中有相同的,有重复.
        flag = true;
        break;  //跳出小循环
      }
    }
    if(!flag){  
      newArr[len]=arr[i];   // 此处 len = newArr.length  保证每次循环进来的都是天价到了下一个 
    }
  }
  console.log(newArr);
  console.log(len);
posted @ 2017-08-24 16:36  Sweet's  阅读(81)  评论(0编辑  收藏  举报