mirror of
				https://github.com/1disk/edp445.git
				synced 2024-08-14 22:47:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
	
		
			410 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			410 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const numeric = /^[0-9]+$/
 | |
| const compareIdentifiers = (a, b) => {
 | |
|   const anum = numeric.test(a)
 | |
|   const bnum = numeric.test(b)
 | |
| 
 | |
|   if (anum && bnum) {
 | |
|     a = +a
 | |
|     b = +b
 | |
|   }
 | |
| 
 | |
|   return a === b ? 0
 | |
|     : (anum && !bnum) ? -1
 | |
|     : (bnum && !anum) ? 1
 | |
|     : a < b ? -1
 | |
|     : 1
 | |
| }
 | |
| 
 | |
| const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)
 | |
| 
 | |
| module.exports = {
 | |
|   compareIdentifiers,
 | |
|   rcompareIdentifiers,
 | |
| }
 |