Timkor

wordsInStr

Jan 19th, 2021 (edited)
777
0
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. //Спитайте людину про рядок і виведіть на екран кількість слів у рядку.
  4.  
  5. let str = "";
  6. let sumWord = 0;
  7. while (str == "" || str == null) {  // перевірка ідентичності (===) завжди очевідніша ніж порівняння (==)  
  8.     str = prompt("Введіть будь ласка речення латинськими літерами");
  9. }
  10.  
  11. //Виведіть на екран найбільше слово в рядку.
  12.  
  13. let tempWord = ""; // временное слово
  14. let maxWord = ""; // наибольшее слово
  15. for (let i = 0; i <= str.length; i++) { // довжина строки чи масиву завжди на 1 більша за останній індекс
  16.     if (str.charCodeAt(i) < 65 || str.charCodeAt(i) > 90 && str.charCodeAt(i) < 97 || str.charCodeAt(i) > 122 || i == str.length) {  // проверка на символы и конец рядка // конець рядка насправді буде на індексі length - 1
  17.         if (tempWord.length > maxWord.length) { // проверка на наибольшее слово
  18.                 maxWord = tempWord; // сохранение наибольшего слова
  19.         }
  20.         if ( tempWord.length > 0) {
  21.             sumWord = sumWord + 1; // счетчик слов
  22.         }
  23.         tempWord = ""; // обнуление временного слова
  24.     } else {
  25.         tempWord = tempWord + str[i];                // составление слова
  26.     }
  27. }
  28. console.log (`Кількість слів в реченні: ${ sumWord }`);
  29. console.log (`Найбільше слово в реченні є: ${ maxWord } `);
  30. </script>
  31.  
  32. /*  if (str.charCodeAt(i) < 65 || str.charCodeAt(i) > 90 && str.charCodeAt(i) < 97 || str.charCodeAt(i) > 122 || i == str.length) {
  33.  
  34. можливо варто розставити дужки для читабельності, а в ідеалі винести перевірку до функції, можливо легше буде написати та
  35. читати умову, що перевіряє чи буква, а ні чи роздільник.
  36. алтернативний варіант можна подивитися тут https://codeshare.io/2KKPqP
  37. Добре рішення, поправив індентацію, гарного коду!
  38. */
Advertisement
Add Comment
Please, Sign In to add comment