Advertisement
yaffar

Untitled

Jan 3rd, 2023
1,092
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. a. (1 pont) A task1 azonosítójú elembe írd ki a beírt karakterek számát!
  3. b. (1 pont) A task2 azonosítójú elembe írd ki a mondatok számát! Gyakorlatilag számold meg, hogy hány .!? karakter van a szövegben!
  4. c. (1 pont) A task3 azonosítójú elembe írd ki a szavak számát! Szónak tekintjük azokat a karaktersorozatokat, amelyeket szóközök választanak el egymástól! (Ha tömbbé bontod a szöveget, akkor ügyelj arra, nehogy üres elemek legyenek a tömbben!)
  5. d. (2 pont) A task4 azonosítójú elembe írd ki, hogy mindegyik szó tartalmaz-e magánhangzót ('aáeéiíoóöőuúüűAÁEÉIÍOÓÖŐUÚÜŰ')!
  6. e. (2 pont) A task5 azonosítójú elembe írd ki a leghosszabb szót (több esetén is egyet)! (Előfordulhat, hogy a leghosszabb szó vesszővel vagy más speciális karakterrel végződik, az ilyen esetekkel nem szükséges külön foglalkozni.)
  7. f. (1 pont) Oldd meg, hogy a fenti feladatok mindig kiértékelődjenek, amikor gépelünk a mezőbe (input esemény)!
  8. */
  9.  
  10. const textarea = document.querySelector('#text')    // szövegbeviteli mező
  11. const task1 = document.querySelector('#task1')      // task 1 kiírásához használt <dd> tag
  12. const task2 = document.querySelector('#task2')      // task 2...
  13. const task3 = document.querySelector('#task3')
  14. const task4 = document.querySelector('#task4')
  15. const task5 = document.querySelector('#task5')
  16.  
  17. textarea.addEventListener("keyup", render);
  18. let txt = "";
  19. let charBox = [];
  20. let wordBox = [];
  21.  
  22. function render() {
  23.     txt = textarea.value;
  24.     charBox = txt.split('');
  25.     wordBox = txt.split(' ').filter(word => !(word === ""));
  26.    
  27.     renderTask1();
  28.     renderTask2();
  29.     renderTask3();
  30.     renderTask4();
  31.     renderTask5();
  32. }
  33.  
  34. function renderTask1() {
  35.     task1.innerHTML = txt.length;  
  36. }
  37.  
  38. function renderTask2() {
  39.     const endChar = ".!?";
  40.     const sentenceCount = charBox.filter(character => endChar.includes(character)).length;
  41.    
  42.     task2.innerHTML = sentenceCount;
  43. }
  44.  
  45. function renderTask3() {
  46.        
  47.     task3.innerHTML = wordBox.length;
  48. }
  49.  
  50. function hasVowel(word) {
  51.     const vowels = "aáeéiíoóöőuúüűAÁEÉIÍOÓÖŐUÚÜŰ";
  52.     let splitWord = word.split('');
  53.  
  54.     return splitWord.filter(character => vowels.includes(character)).length > 0;
  55. }
  56.  
  57. function renderTask4() {
  58.  
  59.     task4.innerHTML = wordBox.filter(word => hasVowel(word)).length === wordBox.length;
  60. }
  61.  
  62. function renderTask5() {
  63.     let maxLength = 0;
  64.     let maxWord = "";
  65.  
  66.     wordBox.forEach(word => {
  67.         const wordLength = word.length;
  68.         if (wordLength > maxLength) {
  69.             maxLength = wordLength;
  70.             maxWord = word;
  71.         }
  72.     });
  73.  
  74.     task5.innerHTML = maxWord;
  75. }
  76.  
  77. render();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement