Timkor

maxWord

Jan 28th, 2021 (edited)
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Спитайте людину про рядок і виведіть на екран найбільше слово в рядку.
  2.  
  3. let userString ;
  4. do {
  5.     userString = prompt('Enter your string');
  6. } while(!userString);
  7.  
  8. let words=[];
  9. words[0] = '';
  10. let separatorCounter = 0;
  11.  
  12. function isLetter(symb) { // у перекладі ім'я цієї функції звучить як: чиЦеБуква, тобто відповіді будуть true (так, це буква)
  13.     // або false -  ні, не буква. Саме ці значення (true or false) має повертати така функція
  14.     if(((symb.charCodeAt(0) > 65) && (symb.charCodeAt(0) < 91)) || ((symb.charCodeAt(0) > 96) && (symb.charCodeAt(0) < 123))) {
  15.         return(symb) // return true;
  16.     } else { // якщо буде час поміркуйте чому елс тут не обов'язковий
  17.         return '' // return false;
  18.     }
  19. };
  20.  
  21. for(let i = 0; i < userString.length; i++) {
  22.  
  23.     if(!isLetter(userString[i])) {
  24.         separatorCounter++;
  25.         words[separatorCounter] = '';
  26.     };
  27.     console.log(words[separatorCounter]);
  28.     words[separatorCounter] = words[separatorCounter] + (isLetter(userString[i]));
  29. };
  30. console.log(words.join()); /* не ефективно заповнююєте масив, можливо вдасться не кожну "нелітеру" переходити на наступний індекс */
  31. function wordToNum(word) {
  32.     let wordNum = 0;
  33.     for(i = 0; i < word.length; i++) {
  34.         wordNum += word.charCodeAt(i) /* не те сумуєте, подивіться що повертає ця функція, перевірте на рядку 'BBBBB zzz' */
  35.     };
  36.     return wordNum;
  37. };
  38.  
  39. let biggestNum = 0;
  40.  
  41. let biggestWord;
  42.  
  43. for (let i = 0; i < words.length; i++) {
  44.     if(wordToNum(words[i]) > biggestNum) { // wordToNum(words[i]) можна замінити на  words[i].length
  45.         biggestNum = wordToNum(words[i]); // і тут тоді теж
  46.         biggestWord = words[i];
  47.     }
  48. };
  49.  
  50. console.log('biggest word is ' + biggestWord);
  51.  /* норм, але є куди рефакторити та оптимізувати.
  52. Ще  у функції треба symb.charCodeAt(0) >= 65 бо не рахує велику А.
  53. Стиль добрий, дякую.
  54. Гарного коду.
  55.   */
Add Comment
Please, Sign In to add comment