Timkor

fnArrayReverse

Jan 18th, 2021
825
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script src="https://zero.p2p.shpp.me/console.js"></script>
  2. <script>
  3.     //  це функція main {
  4.     //     а = спитатиЛюдинуПроРозмірМасиву() // в ідеалі таку функцію створити
  5.     //     створити масив м
  6.     //     спитатиЛюдинуПроВсіЕлементиМасиву(м, а)
  7.     //     вивестиНаЕкранКрасивоМасив(м)
  8.     //     реверснутиМасив(м)
  9.     //     написати "ось реверснутий масив:"
  10.     //     вивестиНаЕкранКрасивоМасив(м)
  11.     // }
  12.  
  13.     function main() {
  14.         let array = [];
  15.         array = creatArray();
  16.  
  17.         console.log(`Ось красиво виведенний масив: ${showArray(array)}`);
  18.  
  19.         console.log(`Oсь реверснутий масив: ${reverseArray(array)}`);
  20. /*
  21. Так як ви викликаєте функцію виводу із функції реверсу, а цього не треба робити згідно ТЗ, то я не можу точно знати чи відомий вам
  22. матеріал, про який пойдеться далі.
  23.  
  24.  спробуйте після виклику функції реверсу з переданим їй в параметр  масивом
  25.  далі просто вивести цей масив, при цьому return в самої функції закоментуйте перед цим.
  26.  
  27.  після експерименту поміркуйте чим відрізняються передача до параметру функції за значенням  та за посиланням.
  28.  а ще про те коли ж таки  треба повертати масив з функції
  29. */  
  30.  
  31.     }
  32.  
  33.     function showArray(arr) {
  34.         let carrentElement = '';
  35.         let coma = ",";
  36.         for (let i = 0; i < arr.length; i++) {
  37.             if (i < arr.length - 1) {
  38.                 carrentElement += `${arr[i]}${coma} `;
  39.             } else {
  40.                 carrentElement += arr[i];
  41.             }
  42.         }
  43.         return carrentElement;
  44.     }
  45.  
  46. /* іменування дуже важливі, для функції фони мають чітко давати уяву про те, що робить функція, а ще для декомпозиції важливо щоб кожна функція робила щось одне, так і іменувати легше буде, так от
  47. тут у вас і розмір питаємо, і масив заповнюємо, в ТЗ на це пропонувалося дві окремі функції.
  48. */
  49.     function creatArray() {
  50.         let sizeArray = +prompt(`Enter the size of the array`);
  51.         arr = [];
  52.         for (let i = 0; i < sizeArray; i++) {
  53.             let elementArr = prompt(`What ${i+1} element?`);
  54.             arr[i] = elementArr;
  55.         }
  56.         return arr;
  57.     }
  58.  
  59.     function reverseArray(arr) {
  60.         newArr = [];
  61.         let str = "";
  62.         for (let i = arr.length - 1; i >= 0; i--) {
  63.             str += arr[i];
  64.         }
  65.  
  66.         for (let i = 0; i < str.length; i++) {
  67.             newArr[i] = str[i];
  68.         }
  69.         return showArray(newArr); // супер важливо розуміти, що буде з тим масивом, що передаємо в функцію параметром та обробляємо в ній.
  70.     }
  71.  
  72.     main();
  73. </script>
RAW Paste Data