Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Повірте, я б теж віддав перевагу ревью коду, та не можу цього зробити з пользою, а замість цього вимушений задавати питання.
- Яка це задачка?
- 1 Якщо ця https://zero.p2p.shpp.me/codewars/6_1_reverse_list_codewars.html
- то там треба не вивести на екран, а повернути з функції реверснутий масив, ну і реверсити його існуючою функцією reverse то
- ж не для навчання, тобто чому ж ви навчетесь написавши строку коду x = m.reverse() ?
- Доречі, на сторінки із задачею є лінк на кодварс, там пробували вирішувати? Як я розумію функції ще не проходили, але методом спроб та помилок дещо вже з'ясували по ним. Це добре) Що треба розуміти: вивід на екран і повернення значення з функції це різні речи. Просто повертає з функції команда return, якщо дати їй якусь змінну, чи значення, то вона повернеться із функції, тобто
- "повернути реверснутий масив" то x = m.reverse(); return x;
- або взагалі return m.reverse(); Cуть завдання написати реверс самостійно.
- 2 Якщож це завдання https://zero.p2p.shpp.me/tasks/5_2_reverse_list.html то треба написати п'ять функцій, фактично результат і суть ті самі, але ще й попрактикуватися норм з функціями писати код, парметри передавати, результати повертати, ну і потім таки вивести на екран після обробки всіма функціями, тобто після реверсу. Але реверс і тут треба написати самостійно. Тепер по коду, але загально: дикі назви змінних, якщо іменувати їх літерами, то ваш мозок (а коли я читаю то мій.мозок) має пам'ятати яка змінна за що відповідає, для чого використовується, що в собі хранить. Якщо назвати змінні зрозумілою мовою, то мозок вам не тільки скаже: "Дякую, друже, нарешті я можу зосередитися на головному - на алгоритмі, і я вже бачу як ми можемо його покращити та зробити більш ефективним, а іще я бачу купу зайвого хламу у виді непотрібних змінних, тож видалимо їх , зробимо код охайним й легким!"
- function main(){
- //var a = prompt ( 'Введите розмер масива') // мозок: "такс, це наш розмір массиву, добре, як на рахунок arraySize ?"
- var arraySize = prompt ( 'Введите розмер масива') // мозок: "тепер навіть той нудний ревьювер не скаже "аЩоТоЗаЗмІнНа"
- var array = [] // історія створення цієї змінної описана значно нижче.
- // var m = [] // мозок: "ммм.. можливо й знабоьиться ще одна змінна, та коли це станеться, тоді її і заведем! поки
- //покладу в біорозкладаний пакет з тесьомочкамі"
- // var list // мозок: "друже, а де в тебе сміттєва корзина?"
- // var reverseList // мозок: "відчуваю себе санітаром ~лісу~ ..коду."
- // var x = [] // " уф..вже втомився.., йа заводік з переробки .."
- //arraySize = arraySize - 1 // можна й так, але можна і не робити цього звісно, тож цілий рядок коду! замінемо >= на >
- for(var i = 0 ; i < arraySize; i++ ) { // так напишемо, й повередій рядок не потрібен)) змінив містами змінні у умові.
- m[ i ] = parseInt( prompt ( 'Введите число')) // мозок: "ось що, нам потрібно масив створити та заповнити.. ну ні,
- // у задачі номер 1 малося на увазі, що масив приходить (ще кажуть прилітає, а правильно казати передається у функцію)
- // параметром, а у задачі номер два цім ділом має займатися окрема функція "спитатиЛюдинуПроВсіЕлементиМасиву(м, а)". Для
- // того і існують функції, щоб можна було кожній щось окреме доручити виконувати, і завдяки цьому код був би простіше і для
- // написання і для розширення і для читання, а тут все в одному намішано.. хех.. ну добре,лишимо як є, бо не до кінця
- // зрозуміло яку задачу виконувати. Добре , з пакету з тісьомочками вже діставати не будемо нічого, а створимо змінну із
- // зрозумілим ім'ям , щодо array, просто і за змістом. Створимо цей масив на початку функції мейн, але зазначимо, що іноді
- // змінні краще створювати якомога ближче до міста їх використання .
- // я спочатку хотів трохи виправити ваш код, але по ходу вирішив нетпродовжувати, якщо захочете, то самі все гарно зробите.
- }
- // list = m.join(',') // тут ви створили строку list з масиву m та між кожним елементом вставили кому.. ммм . добре.
- x = m.reverse() // тут ви поклали в ікс реверснутий масив м , можна просто м = м.реверс() тоді не потрібен ще один
- // містер ікс.
- return list +"\n"+ x; // що ви тут повертаємо з функції.. строку додати перевод строки додати масив.. о_О
- // у жаваскрипт, все що складається із строкою саме становиться строкою, тобто маючи масив [1, 2, 3] з функції
- // повернеться строка "1,2,3\n3,2,1" навіть не знаю, або це геніально, або ні.
- }
- console.log ( main())
- // ось так виглядає код, який НЕ приймає параметром масив (а мав би) а створює цей масив сам, та повертає його реверс
- function main() {
- var arraySize = prompt('Введите розмер масива');
- var array = [];
- for(var i = 0 ; i < arraySize; i++) {
- array[i] = parseInt(prompt('Введите число'));
- }
- return array.reverse();
- }
- console.log (main())
- // ось так виглядає функція мейн, що приймає параметром щось
- function main(array) { // сказали, що функція приймає при визові щось у параметр з ім'ям array
- //var arraySize = prompt('Введите розмер масива'); // цей рядок можна прибрати, а у циклі array.length написати..
- // хоча і цикл з вводом значень масиву не потрібен, бо ми отримали готовий масив як параметр
- // var array = []; не потрібно створювати , бо прилета.. передається у функцію параметром
- /* for(var i = 0 ; i < array.length; i++) {
- array[i] = parseInt(prompt('Введите число'));
- } */ не потрібен, бо прилетів масив готовий, приянили його у параметр , так само як у змінну
- return array.reverse();
- }
- теж саме без коментарів виглядає так
- function main(array) {
- return array.reverse();
- }
- не дуже багато ми чого робимо у нашій функції..
- як визвати, щоб передати туди параметр:
- або створити масив і передати його
- var arr = [1, 2, 3];
- console.log(main(arr));
- або передати хардкодом
- console.log(main([1, 2, 3]));
- Гарного коду.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement