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.
		
		
		
		
			
				
					47 lines
				
				1.2 KiB
			
		
		
			
		
	
	
					47 lines
				
				1.2 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								uniq
							 | 
						||
| 
								 | 
							
								====
							 | 
						||
| 
								 | 
							
								Removes all duplicates from an array in place.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Usage
							 | 
						||
| 
								 | 
							
								=====
							 | 
						||
| 
								 | 
							
								First install using npm:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    npm install uniq
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								Then use it as follows:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```javascript
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var arr = [1, 1, 2, 2, 3, 5]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								require("uniq")(arr)
							 | 
						||
| 
								 | 
							
								console.log(arr)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//Prints:
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								//  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(arra.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.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Credits
							 | 
						||
| 
								 | 
							
								(c) 2013 Mikola Lysenko. MIT License
							 |