经常使用的js方法

1.数组去重

var arr = [1, 2, 3, 4, 5, 3, 4, 5, 6];
  function uniqueArr(arrParam) {
    var newArr = [];     ------新的数组要写到for循环外面,才是全局变量,否则是局部变量
    for (var i = 0; i < arrParam.length; i++) {
      if (newArr.indexOf(arrParam[i]) === -1) {
        newArr.push(arrParam[i])
      }
    }
    return newArr      ------- return也需要在全部去重之后在return,否则只是return的没一个数
  }
  console.log('uniqueArr(arr)=', uniqueArr(arr));  // [1,2,3,4,5,6]

 2.用 includes 判断

 var arr = [-1, 0, 8, -3, -1, 5, 5, 7];
  function unique(arr) {
    var arr1 = [];
    for (var i = 0, len = arr.length; i < len; i++) {
      if (!arr1.includes(arr[i])) {      // 检索arr1中是否含有arr中的值
        arr1.push(arr[i]);
      }
    }
    return arr1;
  }
  console.log(unique(arr));      //  -1, 0, 8, -3, 5, 7

3.用es6方法去重

Set为ES6新增的一个对象,允许存储任何类型(原始值或引用值)的唯一值:Array.from(new Set(arrParam)) 
  var arr1 = [1, 2, 3, 4, 5, 3, 4, 5, 6];
  function uniqueArr1(arrParam) {
    return Array.from(new Set(arrParam)) 
  }
  console.log(uniqueArr1(arr1))
原文地址:https://www.cnblogs.com/liumcb/p/13604030.html