Skip to content

Commit ed8832f

Browse files
authored
Merge pull request #2 from Dimriu/module2-task1
2 parents 16285f6 + 32badf3 commit ed8832f

File tree

4 files changed

+2194
-954
lines changed

4 files changed

+2194
-954
lines changed

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,6 @@ <h2 class="success__title">Изображение успешно загруже
233233
<h2 class="data-error__title">Не удалось загрузить данные</h2>
234234
</section>
235235
</template>
236-
236+
<script src="js/functions.js"></script>
237237
</body>
238238
</html>

js/functions.js

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
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

Comments
 (0)