Циклы и массивы
Здравствуйте, нужна помощь и небольшая консультация. Я только начал изучение 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, время: 14:32. |