You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.2 KiB

4 years ago
  1. uniq
  2. ====
  3. Removes all duplicates from an array in place.
  4. Usage
  5. =====
  6. First install using npm:
  7. npm install uniq
  8. Then use it as follows:
  9. ```javascript
  10. var arr = [1, 1, 2, 2, 3, 5]
  11. require("uniq")(arr)
  12. console.log(arr)
  13. //Prints:
  14. //
  15. // 1,2,3,5
  16. //
  17. ```
  18. ## `require("uniq")(array[, compare, sorted])`
  19. Removes all duplicates from a sorted array in place.
  20. * `array` is the array to remove items from
  21. * `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.
  22. * `sorted` if true, then assume array is already sorted
  23. **Returns:** A reference to `array`
  24. **Time Complexity:** `O(array.length * log(arra.length))` or `O(array.length)` if `sorted`
  25. ## Why use this instead of underscore.uniq[ue]?
  26. A few reasons:
  27. * This library updates the array in place without making an extra copy (and so it is faster for large arrays)
  28. * It also accepts a custom comparison function so you can remove duplicates from arrays containing object
  29. * It is more modular in the sense that it doesn't come with a bazillion other utility grab bag functions.
  30. # Credits
  31. (c) 2013 Mikola Lysenko. MIT License