Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let array = []; // Створюю першій в житті свій масив, в якій планую покласти міста, які назве людина :-)
- /* круто!
- зручно надавати масивам іменування того, що вони містять, тут підійде cities */
- let i = 0; // Створюю змінну для ітерацій
- // Заповнюємо комірки масива назвами міст, які обирає користувач - коментар звичніше перед дією, або поряд.
- while (i < 10) {
- array[i] = prompt('Назвіть місто?')
- i++
- }
- console.log()
- let city = prompt('Назвіть Ваше РІДНЕ місто?');
- let hometown; // ідея із змінною яку будемо змінювати коли знайдем співпадіння вірна. реалізувати можна ще так:
- /* створимо булеву змінну-прапор , іменувати такі змінні прийнято is.. або has.. :
- let isFound = false; // ініціалізуємо її значенням неправда, бо ще не знайшли співпадіння*/
- for (i = 0; i <= array.length; i++) { // будьте уважні, длина масиву завжди на одиничку більша за останній індекс
- console.log(`місто #${i} = ${array[i]}`); // додамо логування щоб впевнетися, що перебираємо всі та не зайві
- if (array[i] == city) {
- hometown = city /* а коли знайдемо, то у змінну присвоємо тру, тобто підіймемо прапор
- isFound = true; */
- }
- }
- if (hometown) { // if (isFound) { /* Чистий код читається легко, наче проза. Якшо це не так, то варто його рефакторити. */
- console.put('Я знаю Ваше рідне місто!')
- } else {
- console.put('Я НЕ знаю Ваше рідне місто!')
- }
- /*
- поміркуйте, чи варто продовжувати пошук співпадінь, коли вже знайшли одне? наприклад рідне місто може опинитися першим у списку, а сам список може бути не з 10, а з 10_000 значень, то чи варто перебирати ще 9_999 коли ми вже знаємо відповідь після першого ж порівняння?
- Тільки не поспішайте використати break, хоча тут він і норм, є спосіб з умовою фор та прапором, який теж буде схожий на "прозу"!) Доречі автор висловлювання про це Роберт Мартін. Колись вам стане у пригоді його книга "Чистий код" .)
- Гарного коду! */
Add Comment
Please, Sign In to add comment