js数组去重

381 阅读1分钟
  1. 方法1 indexOf

    function a(arr) {
        var res = [];
        for(let i = 0; i < arr.length; i++) {
          res.indexOf(arr[i]) == -1 && res.push(arr[i])
        }
        return res
    }
    

  2. 方法二:filter去重

    arr.indexOf(searchElement[, fromIndex = 0])
    
    arr.filter(callback(element[, index[, array]])[, thisArg])
    

    function b(arr) {
        return arr.filter(function(item, index, a){
          return a.indexOf(item, index + 1) === -1
        })
    }
    

  3. 方法三:速度最快

    function c(arr) {
        for(var i = 0; i < arr.length; i++) {
            for(var j = i + 1; j < arr.length; j++) {
                var len = arr.length;
                arr[j] == arr[i] && arr.splice(j, 1)
            }
        }
        return arr
    }