@dauka000000

Как можно создать массив, который будет заполняться через простой текст?

Я недавно начал изучать 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 и добавлять туда города через инпут.
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы