Advertisement
Timkor

citiesStrangeLoop

Feb 15th, 2021 (edited)
623
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let cities = [];// Назва масиву відображає сутність його майбутньої місткості :-) так!))
  2. let i = 0;
  3. while (i < 10) {
  4.     cities [i] = prompt('Назвіть місто?')
  5.     i++
  6. }
  7. console.log()
  8. let city = prompt('Назвіть Ваше РІДНЕ місто?')
  9. let isFound = false; // Скористалася запропонованим Вами засобом через прапор - дякую, спосіб не підведе.)
  10. //Не знаю, чи вірно я Вас зрозуміла, коли додала до виконання умови циклу for( ;i <= city; )?
  11. // Я не знаю, як перевірити, чи зупинилися ітерації після цієї моєї команди, чи, посміхуючись з мене :-))), пішли спокійно собі далі-)?
  12.  
  13. /* логування дає відповіді!))) введіть масив міст, потім рідне таке як перше у масиві - та подивіться на логи! */
  14. for (i = 0; i < cities.length; i++) {
  15.     console.log(`i = ${i}; місто = ${cities[i]}`); // логи рулять!)
  16.     if (cities[i] == city) { // подекують, що потрійне порівняння круче подвійного.. але не круче логів.)
  17.         console.log(` i <= city: ${i} <= ${city} === ${i <= city}`);
  18.         for (; i <= city; console.log('логування скрізь')) ; // дивний цикл.. та і його можна залогувати.)
  19.         isFound = true
  20.     }
  21. }
  22. if (isFound) {
  23.     console.put('Я знаю Ваше рідне місто!')
  24. } else {
  25.     console.put('Я НЕ знаю Ваше рідне місто!')
  26. }
  27. //Дякую Вам за коментари і за книгу Роберта Мартіна "Чистий код", я до неї обов'язково доберусь! :-)
  28. https://habr.com/ru/post/424051/
  29.  
  30.  
  31.  
  32. /* тут ви побачете підступність дивного циклу  - запустить код, та насолоджуйтесь.. логуванням) */
  33. let cities = [1,2,3,4,5,6]; // поекспериментуйте з масивом ['a1','a2','a3']. логуймо умову дивного циклу i <= city
  34. let i = 0;
  35. let city = 2; // поекспериментуйте із значенням, наприклад 'a2'
  36. let isFound = false;
  37. //Не знаю, чи вірно я Вас зрозуміла, коли додала до виконання умови циклу for( ;i <= city; )?
  38. /* цикл пошуку знайомого міста у масиві міст закінчиться якщо умова циклу поверне false, це станеться коли:
  39. перебрані всі елементи масиву та змінна-лічильник і стала рівною довжині масиву, тоді умова циклу i < cities.length поверне false;
  40. додати до умови циклу щось, щоб умова стала такою: шукати поки (лічильник менший за довжину масиву && чиНеЗнайдено) тоді якщо люба умова стане false - то цикл скінчиться, бо цикл виконується поки його умова true.
  41. використати оператор break коли піднімемо прапор - буває норм. тут майже норм. та всеж не раджу в учбових цілях.
  42. */
  43. for (i = 0; i < cities.length; i++) {
  44.     console.log(`i = ${i}; місто = ${cities[i]}`);
  45.     if (cities[i] == city) {
  46.         console.log(` i <= city: ${i} <= ${city} === ${i <= city}`); // логуймо умову дивного циклу
  47.         for (; i <= city; console.log('логування скрізь')) ; // дивний цикл.
  48.         isFound = true
  49.     }
  50. }
  51. if (isFound) {
  52.     console.put('Я знаю Ваше рідне місто!')
  53. } else {
  54.     console.put('Я НЕ знаю Ваше рідне місто!')
  55. }
  56.  
  57. // Гарного коду.
  58.  
  59. // ps чиНеЗнайдено === !чиЗнайдено (! - інверсія)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement