js除重的四种方法

第一种:

思路:1、构建一个新的数组用于存放结果

   2、for循环原数组,每次从原数组中取出一个新数与结果数组相比较

   3、若结果数组中没有该元素,将该元素push到结果数组

   代码如下:

    var arr = [1,2,3,2,4,2,3,5];

    var arr1 = [];

    for(var i = 0;i<arr.length ; i++){

      for(var j =0;j<arr1.length;j++){

        if(arr[i] = arr1[j]){

          break;

        }

      }

      if(arr[i] !==arr1[j]){

        arr1.push(arr[i]);

      }

    }

  console.log(arr1);

第二种:

  思路:利用indexOf()

  var arr = [1,2,3,2,4,2,3,5];

  var arr1 = [];

  for(var i = 0;i<arr.length ; i++){

    if(arr1.indexOf(arr[i])== -1){

      arr1.push(arr[i]);

    }

  }

  console.log(arr1);     

第三种:for循环遍历数组

  var arr = [1,2,3,2,4,2,3,5];

  var arr1 = [];

  for(var i = 0;i<arr.length ; i++){

     for(var j = i+1; j<arr.length ;j++){

      if(arr[i] == arr[j]){

        i++;//跳出循环

      }

    }

    arr1.push(arr[i]);

  }

  console.log(arr1);

第四种:先排序,排序之后,相同的会相邻

  var arr = [1,2,3,2,4,2,3,5];

  var arr1 = [];

  var.sort();

  for(var i = 0;i<arr.length ; i++){

    if(arr[i] != arr[i+1]){

      arr1.push(arr[i]);

    }

  }

  console.log(arr4);  

  

posted @ 2016-08-27 16:18  浅遇~暖爱  阅读(343)  评论(0)    收藏  举报