Я недавно начал изучать javascript и я получил задание - нужно сделать игру "города". Все написал, однако массив был заполнен вручную, из-за чего мне было сказано переделать код. Как можно создать массив, который будет заполняться через инпут или как можно подключить пакет с полным списком городов?
P.S. забыл оставить код, вот он:
const cityNames = ['астана', 'актобе', 'костанай', 'алматы', 'атырау',
'актау', 'жезказган', 'караганды', 'кызылорда', 'ташкент', 'уральск',
'москва', 'киев', 'вашингтон', 'нью-йорк', 'екатеринбург', 'йен',
'донецк', 'волгоград', 'тараз', 'зеленоград'];
let computerCityName = _.sample(cityNames);//команда для подбора рандомных городов
let restCityNames = cityNames.filter((cityName) => computerCityName !== cityName);
const exceptLetters = ['ь', 'ы', 'ъ'];
const getLastLetter = (cityName) => {
const lastLetter = _.last(cityName);
if(exceptLetters.includes(lastLetter)){
return cityName[cityName.length - 2];
}
return lastLetter;
};
//сверху команда для исключения ь, ы, ъ
while (true) {
const userCityName = prompt(`${computerCityName}`);
//если последняя буква не соответсвует первой букве предыдущего города
if (userCityName[0].toLowerCase() !== getLastLetter(computerCityName)) {
alert('Вы допустили ошибку');
break;
}
//если такого города нет в списке
if (!restCityNames.includes(userCityName.toLowerCase())) {
alert('Такого города я незнаю');
break;
}
restCityNames = restCityNames.filter((cityName) => userCityName !== cityName);
computerCityName = restCityNames.find((cityName) => cityName[0] === getLastLetter(userCityName));
if(!computerCityName) {
alert('Вы победили!');
break;
}
restCityNames = restCityNames.filter((cityName) => computerCityName !== cityName);
//для того, чтобы слова не повторялись, если закончатся, то мы победили
}
Мне нужно создать пустой массив на cityNames и добавлять туда города через инпут.