JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE HTML>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


<select size="1" name="country" id="country">
<option value="-1" selected disabled>Выберите страну</option>
<option value="0">Другая</option>
<option value="1">Россия</option>
<option value="2">Литва</option>
</select>
    
<select size="1" name="region" id="region">
<option value="-1" selected="">Выберите регион</option>
<option value="0">Другой</option>
<option id="2" value="2"></option>
<option id="1" value="1">Калининград</option>
<option id="2" value="3">Сувалкия</option>
<option id="2" value="4">Жемайтия</option>
<option id="1" value="5">Нижегородская </option>
<option id="1" value="6">Воронежская</option>
</select>

JavaScript

var sels = {
    'country' : document.getElementById('country'),
    'region' : document.getElementById('region')
};

var database = {};

var currentOption = {}, i, b;

for(i = 0; i < sels.country.options.length; i += 1 ) {

    currentOption.country = sels.country.options[ i ];
    database[ currentOption.country.value ]  = [];
    
    for(b = 0; b < sels.region.options.length; b += 1 ) {
        currentOption.region = sels.region.options[b]

        
        if( currentOption.country.value === currentOption.region.id && currentOption.region.text.length !== 0 ){
            database[ currentOption.country.value ].push( currentOption.region );
        }
        
        
    };
    
};

sels.region.style.display = 'none';
sels.region.options.length = 0;

sels.country.onchange = function(){
    sels.region.options.length = 0;
    sels.region.style.display = 'inline';
    
    var optionsArray = database[ this.value ], i;
    
    for( i = 0; i < optionsArray.length; i += 1 ){
        sels.region.options.add( optionsArray[i] );
    }
};