32 lines
		
	
	
		
			791 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			791 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | // https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
 | ||
|  | 
 | ||
|  | var zones = []; | ||
|  | var zoneMap = {}; | ||
|  | var all = document.body | ||
|  | 	.querySelector('.wikitable.sortable.jquery-tablesorter') | ||
|  | 	.querySelectorAll('tr'); | ||
|  | all = [].slice.call(all, 1); // remove header
 | ||
|  | 
 | ||
|  | all.forEach(function(el) { | ||
|  | 	if (/Alias|Deprecated|Etc\//.test(el.outerText)) { | ||
|  | 		$(el).remove(); | ||
|  | 		return; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	var fields = [].slice.call(el.querySelectorAll('td')); | ||
|  | 	var f = fields.map(function(td) { | ||
|  | 		return td.innerText.trim(); | ||
|  | 	}); | ||
|  | 	var id = f[5] + ' ' + f[6]; | ||
|  | 	if (!zoneMap[id]) { | ||
|  | 		zones.push([f[2], f[5], f[6]]); | ||
|  | 	} | ||
|  | 	zoneMap[id] = zoneMap[id] || []; | ||
|  | 	zoneMap[id].push(f[2]); | ||
|  | }); | ||
|  | 
 | ||
|  | // console.log(JSON.stringify(zones));
 | ||
|  | console.log('Total:', all.length); | ||
|  | console.log('Unique:', Object.keys(zoneMap).length); | ||
|  | console.log(zoneMap); |