Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.05.2022, 15:24
Новичок на форуме
Отправить личное сообщение для TrumpTower Посмотреть профиль Найти все сообщения от TrumpTower
 
Регистрация: 16.05.2022
Сообщений: 3

Циклы и массивы
Здравствуйте, нужна помощь и небольшая консультация. Я только начал изучение 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('Не найдено');
}
}
Ответить с цитированием
  #2 (permalink)  
Старый 16.05.2022, 16:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

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} добавлен в список`);
            }
        }
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2022, 16:48
Новичок на форуме
Отправить личное сообщение для TrumpTower Посмотреть профиль Найти все сообщения от TrumpTower
 
Регистрация: 16.05.2022
Сообщений: 3

у меня по заданию должна получиться игра Города, т.е. я в prompt ввожу город, а из массива должен появиться ответ на последнюю букву моего города, мне нужно исключить повторения при вводе в prompt и снова появится должно окно для ввода, и переход к следующей букве, если последняя Ъ Ь или Ы.
Для исключения повторений мне нужно создать новый массив с результатами поля prompt?

Последний раз редактировалось TrumpTower, 16.05.2022 в 16:50.
Ответить с цитированием
  #4 (permalink)  
Старый 16.05.2022, 17:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

TrumpTower,
кодируйте.
Ответить с цитированием
  #5 (permalink)  
Старый 16.05.2022, 18:13
Новичок на форуме
Отправить личное сообщение для TrumpTower Посмотреть профиль Найти все сообщения от TrumpTower
 
Регистрация: 16.05.2022
Сообщений: 3

спасибо за совет..
Ответить с цитированием
  #6 (permalink)  
Старый 16.05.2022, 18:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

TrumpTower,
ваш алгоритм не полный, пишите код и задавайте вопросы, по мере обнаружения не стыковок.
Ответить с цитированием
  #7 (permalink)  
Старый 16.05.2022, 19:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

игра города название на последнюю букву
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}`);
            }
        }

Последний раз редактировалось рони, 16.05.2022 в 19:15.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из массива объектов пересобрать массивы для фильтров параметров sovsem-nub Events/DOM/Window 11 21.01.2021 13:07
Задача на массивы Rphoenix Общие вопросы Javascript 0 14.11.2015 19:54
почему вместо методов Array используют циклы finestra Общие вопросы Javascript 29 03.02.2014 10:25
Json и вложенные массивы ArmagedDance jQuery 6 08.06.2011 12:42