Timkor

ambiquoseMess

Nov 21st, 2020 (edited)
862
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Повірте, я б теж віддав перевагу ревью коду, та не можу цього зробити з пользою, а замість цього вимушений задавати питання.
  2. Яка це задачка?
  3.  
  4. 1 Якщо ця https://zero.p2p.shpp.me/codewars/6_1_reverse_list_codewars.html
  5. то там треба не вивести на екран, а повернути з функції реверснутий масив, ну і реверсити його існуючою функцією reverse то
  6. ж не для навчання, тобто чому ж ви навчетесь написавши строку коду x = m.reverse() ?
  7. Доречі, на сторінки із задачею є лінк на кодварс, там пробували вирішувати? Як я розумію функції ще не проходили, але методом спроб та помилок дещо вже з'ясували по ним. Це добре) Що треба розуміти: вивід на екран і повернення значення з функції це різні речи. Просто повертає з функції команда return, якщо дати їй якусь змінну, чи значення, то вона повернеться із функції, тобто
  8. "повернути реверснутий масив" то x = m.reverse(); return x;
  9. або взагалі return  m.reverse(); Cуть завдання написати реверс самостійно.
  10.  
  11. 2 Якщож це завдання https://zero.p2p.shpp.me/tasks/5_2_reverse_list.html то треба написати п'ять функцій, фактично результат і суть ті самі, але ще й попрактикуватися норм з функціями писати код, парметри передавати, результати повертати, ну і потім таки вивести на екран після обробки всіма функціями, тобто після реверсу. Але реверс і тут треба написати самостійно. Тепер по коду, але загально: дикі назви змінних, якщо іменувати їх літерами, то ваш мозок (а коли я читаю то мій.мозок) має пам'ятати яка змінна за що відповідає, для чого використовується, що в собі хранить. Якщо назвати змінні зрозумілою мовою, то мозок вам не тільки скаже: "Дякую, друже, нарешті я можу зосередитися на головному - на алгоритмі, і я вже бачу як ми можемо його покращити та зробити більш ефективним, а іще я бачу купу зайвого хламу у виді непотрібних змінних, тож видалимо їх , зробимо код охайним й легким!"  
  12.  function main(){
  13.    //var a = prompt ( 'Введите розмер масива') // мозок: "такс, це наш розмір массиву, добре, як на рахунок arraySize ?"
  14.    var arraySize = prompt ( 'Введите розмер масива') // мозок: "тепер навіть той нудний ревьювер не скаже "аЩоТоЗаЗмІнНа"
  15.    var array = [] // історія створення цієї змінної описана значно нижче.
  16.    // var m = [] // мозок: "ммм.. можливо й знабоьиться ще одна змінна, та коли це станеться, тоді її і заведем! поки
  17. //покладу в біорозкладаний пакет з тесьомочкамі"
  18.    // var list  // мозок: "друже, а де в тебе сміттєва корзина?"
  19.    // var reverseList // мозок: "відчуваю себе санітаром ~лісу~ ..коду."
  20.    // var x = [] // " уф..вже втомився.., йа заводік з переробки .."
  21.  
  22.    //arraySize = arraySize - 1 //  можна й так, але можна і не робити цього звісно, тож цілий рядок коду! замінемо >= на >
  23.    for(var i = 0 ; i < arraySize; i++ ) { // так напишемо, й повередій рядок не потрібен)) змінив містами змінні у умові.
  24.        m[ i ] =  parseInt( prompt ( 'Введите число'))  // мозок: "ось що, нам потрібно масив створити та заповнити.. ну ні,
  25. // у задачі номер 1 малося на увазі, що масив приходить (ще кажуть прилітає, а правильно казати передається у функцію)
  26. // параметром, а у задачі номер два цім ділом має займатися окрема функція "спитатиЛюдинуПроВсіЕлементиМасиву(м, а)". Для
  27. // того і існують функції, щоб можна було кожній щось окреме доручити виконувати, і завдяки цьому код був би простіше і для
  28. // написання і для розширення і для читання, а тут все в одному намішано.. хех.. ну добре,лишимо як є, бо не до кінця
  29. // зрозуміло яку задачу виконувати. Добре , з пакету з тісьомочками вже діставати не будемо нічого, а створимо змінну із
  30. // зрозумілим ім'ям , щодо array, просто і за змістом. Створимо цей масив на початку функції мейн, але зазначимо, що іноді
  31. // змінні краще створювати якомога ближче до міста їх використання .
  32. // я спочатку хотів трохи виправити ваш код, але по ходу вирішив нетпродовжувати, якщо захочете, то самі все гарно зробите.
  33.     }
  34.     // list = m.join(',') // тут ви створили строку list з масиву m та між кожним елементом вставили кому.. ммм . добре.
  35.     x = m.reverse() // тут ви поклали в ікс реверснутий масив м , можна просто м = м.реверс() тоді не потрібен ще один
  36. // містер ікс.
  37.  
  38.     return list +"\n"+ x; // що ви тут повертаємо з функції.. строку додати перевод строки додати масив.. о_О
  39. // у жаваскрипт, все що складається із строкою саме становиться строкою, тобто маючи масив  [1, 2, 3] з функції
  40. // повернеться строка "1,2,3\n3,2,1" навіть не знаю, або це геніально, або ні.
  41. }
  42. console.log ( main())
  43.  
  44. // ось так виглядає код, який НЕ приймає параметром масив (а мав би) а створює цей масив сам, та повертає його реверс
  45.  
  46. function main() {
  47.     var arraySize = prompt('Введите розмер масива');  
  48.     var array = [];
  49.  
  50.     for(var i = 0 ; i < arraySize; i++) {
  51.         array[i] =  parseInt(prompt('Введите число'));
  52.     }
  53.     return array.reverse();
  54. }
  55. console.log (main())
  56.  
  57. // ось так виглядає функція мейн, що приймає параметром щось
  58. function main(array) { // сказали, що функція приймає при визові щось у параметр з ім'ям array
  59.     //var arraySize = prompt('Введите розмер масива'); // цей рядок можна прибрати, а у циклі array.length написати..
  60. // хоча і цикл з вводом значень масиву не потрібен, бо ми отримали готовий масив як параметр
  61.     // var array = []; не потрібно створювати , бо прилета.. передається у функцію параметром
  62.  
  63.    /* for(var i = 0 ; i < array.length; i++) {
  64.         array[i] =  parseInt(prompt('Введите число'));
  65.     } */ не потрібен, бо прилетів масив готовий, приянили його у параметр , так само як у змінну
  66.     return array.reverse();
  67. }
  68. теж саме без коментарів виглядає так
  69. function main(array) {
  70.     return array.reverse();
  71. }
  72. не дуже багато ми чого робимо у нашій функції..
  73. як визвати, щоб передати туди параметр:
  74. або створити масив і передати його
  75. var arr = [1, 2, 3];
  76. console.log(main(arr));
  77. або передати хардкодом
  78. console.log(main([1, 2, 3]));
  79.  
  80. Гарного коду.
RAW Paste Data