Циклы и массивы
Здравствуйте, нужна помощь и небольшая консультация. Я только начал изучение JS, и мне дали задание с которым сижу уже несколько дней. У меня есть массив с городами, как мне сделать исключение повторяющихся городов из массива и из поля ввода prompt, и как не использовать последнюю букву в поле prompt, если она Ъ Ь или Ы
вот мой код. cities - массив с городами while (true) { let player = prompt('Введите город').slice(-1); let result = 0; for (let i = 0; i < cities.length; i++) { if (cities[i].charAt(0) === player) { result = cities[i]; } } if (result) { alert(result); } else { alert('Не найдено'); } } |
TrumpTower,
const cities = []; while (true) { let city = prompt('Введите город'); if (!city) break; city = city.replace(/[ЪЬЫ]+$/ig, ''); let includes = cities.includes(city); if (includes) { alert(`${city} такой город есть в списке`); } else { cities.push(city); alert(`${city} добавлен в список`); } } |
у меня по заданию должна получиться игра Города, т.е. я в prompt ввожу город, а из массива должен появиться ответ на последнюю букву моего города, мне нужно исключить повторения при вводе в prompt и снова появится должно окно для ввода, и переход к следующей букве, если последняя Ъ Ь или Ы.
Для исключения повторений мне нужно создать новый массив с результатами поля prompt? |
TrumpTower,
кодируйте. |
спасибо за совет..
|
TrumpTower,
ваш алгоритм не полный, пишите код и задавайте вопросы, по мере обнаружения не стыковок. |
игра города название на последнюю букву
TrumpTower,
const cities = ['Москва']; let current = 'Москва'; while (true) { lastLetter = current.match(/[^ЪЬЫ](?=[ЪЬЫ]*$)/i)[0]; lastLetter = lastLetter.toUpperCase(); let city = prompt(`${current}, введите город на букву ${lastLetter}`); if (!city) break; let includes = cities.includes(city); let firstLetter = city.startsWith(lastLetter) if (includes) { alert(`${city} такой город есть в списке`); } else if(firstLetter) { current = city; cities.push(city); alert(`${city} добавлен в список`); } else { alert(`${city} начинается не с ${lastLetter}`); } } |
Часовой пояс GMT +3, время: 06:04. |