нужно создать пустой массив, который можно заполнить через инпут
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