Skip to content
Removes duplicate items from an array in place
Find file
Latest commit 4e0fc2c Jun 5, 2015 @mikolalysenko 1.0.1
Failed to load latest commit information.
test 1.0.0 Apr 28, 2014
.gitignore adding files Mar 24, 2013
LICENSE adding LICENSE May 13, 2013 Fix typo in README Apr 27, 2015
package.json 1.0.1 Jun 5, 2015
uniq.js formatting tweaks Jun 5, 2015


Removes all duplicates from an array in place.


First install using npm:

npm install uniq

Then use it as follows:

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


//  1,2,3,5

require("uniq")(array[, compare, sorted])

Removes all duplicates from a sorted array in place.

  • array is the array to remove items from
  • compare is an optional comparison function that returns 0 when two items are equal, and something non-zero when they are different. If unspecified, then the default equals will be used.
  • sorted if true, then assume array is already sorted

Returns: A reference to array

Time Complexity: O(array.length * log(array.length)) or O(array.length) if sorted

Why use this instead of underscore.uniq[ue]?

A few reasons:

  • This library updates the array in place without making an extra copy (and so it is faster for large arrays)
  • It also accepts a custom comparison function so you can remove duplicates from arrays containing object
  • It is more modular in the sense that it doesn't come with a bazillion other utility grab bag functions.


(c) 2013 Mikola Lysenko. MIT License

Something went wrong with that request. Please try again.