|  | 
|  | 1 | +// Функция для проверки длины строки | 
|  | 2 | +const checkLengthString = function (string, length) { | 
|  | 3 | +  if(string.length <= length) { | 
|  | 4 | +    return true; | 
|  | 5 | +  } | 
|  | 6 | +  return false; | 
|  | 7 | +}; | 
|  | 8 | + | 
|  | 9 | +// Функция для проверки, является ли строка палиндромом | 
|  | 10 | +const isPalindrome = function (string) { | 
|  | 11 | +  string = string.replaceAll(' ',''); | 
|  | 12 | +  string = string.toLowerCase(); | 
|  | 13 | +  let stringNew = ''; | 
|  | 14 | +  for (let i = string.length - 1; i >= 0; i--) { | 
|  | 15 | +    stringNew += string[i]; | 
|  | 16 | +  } | 
|  | 17 | +  if(string === stringNew) { | 
|  | 18 | +    return true; | 
|  | 19 | +  } | 
|  | 20 | +  return false; | 
|  | 21 | +}; | 
|  | 22 | + | 
|  | 23 | +// Функция принимает строку, извлекает содержащиеся в ней цифры от 0 до 9 и возвращает их в виде целого положительного числа | 
|  | 24 | +const returnNumber = function (string) { | 
|  | 25 | +  string = string.toString(); | 
|  | 26 | + | 
|  | 27 | +  const arrayIndexs = []; | 
|  | 28 | +  let count = 1; | 
|  | 29 | +  for (let i = 0; i < string.length; i++) { | 
|  | 30 | +    if (string[i] === ' ') { | 
|  | 31 | +      count = count + 1; | 
|  | 32 | +      arrayIndexs.push(i); | 
|  | 33 | +    } | 
|  | 34 | +  } | 
|  | 35 | +  arrayIndexs.push(string.length); | 
|  | 36 | + | 
|  | 37 | +  const arrayValue = []; | 
|  | 38 | +  for (let j = 0; j < count; j++) { | 
|  | 39 | +    let elementString = ''; | 
|  | 40 | +    let k; | 
|  | 41 | +    for (j === 0 ? k = 0 : k = (arrayIndexs[j - 1]); k < arrayIndexs[j]; k++) { | 
|  | 42 | +      elementString = elementString + string[k]; | 
|  | 43 | +    } | 
|  | 44 | +    arrayValue.push(elementString); | 
|  | 45 | +  } | 
|  | 46 | + | 
|  | 47 | +  let message = ''; | 
|  | 48 | +  for (let j = 0; j < arrayValue.length; j++) { | 
|  | 49 | +    const temp = (arrayValue[j].replaceAll(' ', '')); | 
|  | 50 | +    for (let i = 0; i < temp.length; i++) { | 
|  | 51 | +      if (!Number.isNaN(parseInt(temp[i], 10))) { | 
|  | 52 | +        message += temp[i]; | 
|  | 53 | +      } | 
|  | 54 | +    } | 
|  | 55 | +  } | 
|  | 56 | + | 
|  | 57 | +  if(message.length > 0) { | 
|  | 58 | +    return (Number(message)); | 
|  | 59 | +  } | 
|  | 60 | +  return NaN; | 
|  | 61 | +}; | 
|  | 62 | + | 
|  | 63 | +/* | 
|  | 64 | +//Тесты | 
|  | 65 | +console.log('Функция для проверки длины строки'); | 
|  | 66 | +// Строка короче 20 символов | 
|  | 67 | +console.log('1. Ожидаю "true", получаю - ', checkLengthString('проверяемая строка', 20)); | 
|  | 68 | +// Длина строки ровно 18 символов | 
|  | 69 | +console.log('2. Ожидаю "true", получаю - ', checkLengthString('проверяемая строка', 18)); | 
|  | 70 | +// Строка длиннее 10 символов | 
|  | 71 | +console.log('3. Ожидаю "false", получаю - ', checkLengthString('проверяемая строка', 10)); | 
|  | 72 | +
 | 
|  | 73 | +console.log('Функция для проверки, является ли строка палиндромом'); | 
|  | 74 | +// Строка является палиндромом | 
|  | 75 | +console.log('1. Ожидаю "true", получаю - ', isPalindrome('топот')); | 
|  | 76 | +// Длина строки ровно 18 символов | 
|  | 77 | +console.log('2. Ожидаю "true", получаю - ', isPalindrome('ДовОд')); | 
|  | 78 | +// Строка длиннее 10 символов | 
|  | 79 | +console.log('3. Ожидаю "false", получаю - ', isPalindrome('Кекс')); | 
|  | 80 | +// Это палиндром | 
|  | 81 | +console.log('4. Ожидаю "true", получаю - ', isPalindrome('Лёша на полке клопа нашёл ')); | 
|  | 82 | +
 | 
|  | 83 | +console.log('Функция принимает строку, извлекает содержащиеся в ней цифры от 0 до 9 и возвращает их в виде целого положительного числа'); | 
|  | 84 | +// Строка '2023 год' | 
|  | 85 | +console.log('1. Ожидаю "2023", получаю - ', returnNumber('2023 год')); | 
|  | 86 | +// Строка 'ECMAScript 2022' | 
|  | 87 | +console.log('2. Ожидаю "2022", получаю - ', returnNumber('ECMAScript 2022')); | 
|  | 88 | +// Строка '1 кефир, 0.5 батона' | 
|  | 89 | +console.log('3. Ожидаю "105", получаю - ', returnNumber('1 кефир, 0.5 батона')); | 
|  | 90 | +// Строка 'а я томат' | 
|  | 91 | +console.log('4. Ожидаю "NaN", получаю - ', returnNumber('а я томат')); | 
|  | 92 | +// Строка 'агент 007' | 
|  | 93 | +console.log('5. Ожидаю "7", получаю - ', returnNumber('агент 007')); | 
|  | 94 | +// Число 2023 | 
|  | 95 | +console.log('6. Ожидаю "2023", получаю - ', returnNumber(2023)); | 
|  | 96 | +// Число -1 | 
|  | 97 | +console.log('7. Ожидаю "1", получаю - ', returnNumber(-1)); | 
|  | 98 | +// Число 1.5 | 
|  | 99 | +console.log('8. Ожидаю "15", получаю - ', returnNumber(1.5)); | 
|  | 100 | +*/ | 
0 commit comments