Advertisement
Timkor

stringToNumber

Mar 18th, 2021
885
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*Рядок в число.
  2.  
  3. https://zero.p2p.shpp.me/codewars/9_1_string_to_number.html - ось ця задача? Вона для кодварс, ви там вже кодили?
  4.  
  5. остання ваша задача, що ви скидали була про кількість слів,  сподіваюсь ви не пропустили ті, що після неї
  6.  
  7. Codewars(за бажанням): -    корисно зробити просту на кодварсі щоб зрозуміти принцип його роботи, та дещо про функції
  8. hello world                 а ще є урок саме з кодварс https://zero.p2p.shpp.me/tutorials/Codewars_tutorial.html
  9.  
  10. Обчислення найбільшого числа
  11.  
  12. Вывести массив у зворотньому напряму - саме про функції
  13.  
  14. */
  15.  
  16.     /*============================*/
  17.  
  18. let inputString = prompt("Введите символы от 0 до 9");
  19. let isExit = false;
  20.  
  21. function stringToNum(a) {
  22.     a = +inputString; // є ще parseInt
  23.     alert(typeof (a) + ": " + a);
  24. }
  25.  
  26. for (let i = 0; !isExit && i < inputString.length; i++) {
  27.    // if ((inputString[i] < String.fromCharCode(48) && inputString[i] !== String.fromCharCode(45)) || inputString[i] > String.fromCharCode(57)) {
  28.     /* скоріш навпаки треба з символу отримувати його аскі код та порівнювати його з діаразоном цифрових символів. Варто зазначити, що мінус
  29.     буде валідним тільки на першої (формально нулевої)  позиції */
  30.     if (inputString.charCodeAt(i) < 48 || inputString.charCodeAt(i) > 57) { // така умова виконається для всіх НЕ цифрових символів, якщо враховувати мінус,
  31.         // то лише на стартовій позиції - умова для нього має враховувати значення лічильника і.
  32.         isExit = true; // краще isValid тобто змінна своїм іменуванням каже те, що вона значить, а не те, що ми будемо робити в залежності від неї.
  33.         // минулого разу був прапор isExitActivated -  він підіймався коли користувач натискав 0 для виходу, тому назва теж відповідала сутності
  34.     }
  35. } // Проверка на символы
  36.  
  37. if (isExit == false) { // така умова записується так  if (!isExit) {
  38.     stringToNum(inputString);
  39. } else alert("Вы ввели некорректные символы!"); // раджу не нехтувати фігурними дужками
  40.  
  41. /* ваша програма побудована таким чином:
  42. *
  43. * 1 ввід даних від користувача
  44. * 2 валідація даних
  45. * 3 вивід результату обробки даних функцією або повідомлення про не валідні дані
  46. *
  47. * в умові завдання сказано: Зауваження: не хвилюйтесь, всі вхідні дані будуть рядками, і кожен рядок є абсолютно
  48. * коректним представленням цілого числа. - тож валідація не потрібна.
  49. *
  50. * функція - приймає параметр а, але потім переписує його значенням іншої глобальної змінної (якого не повинна
  51. * використовувати напряму. Параметру функції  не варто присвоювати ніякі значення окрім того що до нього вже
  52. * передані при виклику функції, а ще й значення що до нього передане є тим самим, що ви переприсвоюєте через плюсік.
  53. * Функція має повертати значення , а ваша функція просто виводить його в модальне вікно з типом-  так кодварс не прийме відповідь,
  54. * навіть якщо будете виводити її правильну, або до коснолі, або булдь-як
  55. * бо він обробляє значення, що функція повертае за допомогою команди return.  так само і вступне працює.
  56. *
  57. * Раджу перепройти тему функції та прорішати задачки, хеллоу ворлд на кодварс  - також маст солв.)
  58. *
  59. * Що ж до алгорітму рішення саме цієї задачі - то можна по різному, можна і в один рядок, а можна і розпарсити посимвольно
  60. * як ви намагалися, це залишемо на потім.
  61. *
  62. * Гарного коду.
  63. *
  64. *
  65. * */
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement