forked from MapComplete/MapComplete
		
	Docs: improve documentation of duplicates and UIEventSource
This commit is contained in:
		
							parent
							
								
									a9bfe4f37b
								
							
						
					
					
						commit
						b7a88ced70
					
				
					 2 changed files with 12 additions and 4 deletions
				
			
		|  | @ -669,7 +669,7 @@ export class UIEventSource<T> extends Store<T> implements Writable<T> { | ||||||
|         ) |         ) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     static asBoolean(stringUIEventSource: UIEventSource<string>) { |     static asBoolean(stringUIEventSource: UIEventSource<string>): UIEventSource<boolean> { | ||||||
|         return stringUIEventSource.sync( |         return stringUIEventSource.sync( | ||||||
|             (str) => str === "true", |             (str) => str === "true", | ||||||
|             [], |             [], | ||||||
|  |  | ||||||
							
								
								
									
										14
									
								
								src/Utils.ts
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								src/Utils.ts
									
										
									
									
									
								
							|  | @ -387,19 +387,27 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be | ||||||
|         return newArr |         return newArr | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * Finds all duplicates in a list of strings | ||||||
|  |      * | ||||||
|  |      * Utils.Duplicates(["a", "b", "c"]) // => []
 | ||||||
|  |      * Utils.Duplicates(["a", "b","c","b"] // => ["b"]
 | ||||||
|  |      * Utils.Duplicates(["a", "b","c","b","b"] // => ["b"]
 | ||||||
|  |      * | ||||||
|  |      */ | ||||||
|     public static Duplicates(arr: string[]): string[] { |     public static Duplicates(arr: string[]): string[] { | ||||||
|         if (arr === undefined) { |         if (arr === undefined) { | ||||||
|             return undefined |             return undefined | ||||||
|         } |         } | ||||||
|         const newArr = [] |  | ||||||
|         const seen = new Set<string>() |         const seen = new Set<string>() | ||||||
|  |         const duplicates = new Set<string>() | ||||||
|         for (const string of arr) { |         for (const string of arr) { | ||||||
|             if (seen.has(string)) { |             if (seen.has(string)) { | ||||||
|                 newArr.push(string) |                 duplicates.add(string) | ||||||
|             } |             } | ||||||
|             seen.add(string) |             seen.add(string) | ||||||
|         } |         } | ||||||
|         return newArr |         return Array.from(duplicates) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue