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

js:

    const cityNames = ['астана', 'актобе', 'костанай', 'алматы', 'атырау', 
    'актау', 'жезказган', 'караганды', 'кызылорда', 'ташкент', 'уральск', 
    'москва', 'киев', 'вашингтон', 'нью-йорк', 'екатеринбург', 'йен', 
    'донецк', 'волгоград', 'тараз', 'зеленоград'];

    function addCity() {
        var arrContainer = document.getElementById('array');
        for(var i=0; i < 10000; i++) {
            while(
              typeof (cityNames[i] = prompt('Введите название города'+i)) != 'string' || cityNames[i].length == 0
            );
        }
        arrContainer.innerHTML = cityNames;
        console.log(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);
        //для того, чтобы слова не повторялись, если закончатся, то мы победили
    }

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Игра в "города"</title>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>
    </head>
    <body>
        <h2>Игра в "города"</h2>
        <script src="index.js"></script>
    </body>
    </html>

<!-- end snippet -->

html:
<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Игра в "города"</title>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>
    </head>
    <body>
        <h2>Игра в "города"</h2>
        <script src="index.js"></script>
    </body>
    </html>

Mне дали задание, написать игру в города, код написал, но вместо массива cityNames нужно создать пустой массив, который можно заполнить через инпут на сайте html


Ответы (0 шт):