Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Спитайте людину про рядок і виведіть на екран найбільше слово в рядку.
- let userString ;
- do {
- userString = prompt('Enter your string');
- } while(!userString);
- let words=[];
- words[0] = '';
- let separatorCounter = 0;
- function isLetter(symb) { // у перекладі ім'я цієї функції звучить як: чиЦеБуква, тобто відповіді будуть true (так, це буква)
- // або false - ні, не буква. Саме ці значення (true or false) має повертати така функція
- if(((symb.charCodeAt(0) > 65) && (symb.charCodeAt(0) < 91)) || ((symb.charCodeAt(0) > 96) && (symb.charCodeAt(0) < 123))) {
- return(symb) // return true;
- } else { // якщо буде час поміркуйте чому елс тут не обов'язковий
- return '' // return false;
- }
- };
- for(let i = 0; i < userString.length; i++) {
- if(!isLetter(userString[i])) {
- separatorCounter++;
- words[separatorCounter] = '';
- };
- console.log(words[separatorCounter]);
- words[separatorCounter] = words[separatorCounter] + (isLetter(userString[i]));
- };
- console.log(words.join()); /* не ефективно заповнююєте масив, можливо вдасться не кожну "нелітеру" переходити на наступний індекс */
- function wordToNum(word) {
- let wordNum = 0;
- for(i = 0; i < word.length; i++) {
- wordNum += word.charCodeAt(i) /* не те сумуєте, подивіться що повертає ця функція, перевірте на рядку 'BBBBB zzz' */
- };
- return wordNum;
- };
- let biggestNum = 0;
- let biggestWord;
- for (let i = 0; i < words.length; i++) {
- if(wordToNum(words[i]) > biggestNum) { // wordToNum(words[i]) можна замінити на words[i].length
- biggestNum = wordToNum(words[i]); // і тут тоді теж
- biggestWord = words[i];
- }
- };
- console.log('biggest word is ' + biggestWord);
- /* норм, але є куди рефакторити та оптимізувати.
- Ще у функції треба symb.charCodeAt(0) >= 65 бо не рахує велику А.
- Стиль добрий, дякую.
- Гарного коду.
- */
Add Comment
Please, Sign In to add comment