Skip to content

Commit b1fab5d

Browse files
committed
[TM-7.10/st-compl] training-module
Solving 5 tasks. Working with "early return, trim(), *, %, length". Worth noting: - more/understandable conditions for tasks (for the first time). FS-dev: B-3 / JS basic
1 parent 20505d8 commit b1fab5d

File tree

1 file changed

+102
-0
lines changed
  • full-stack-dev/3-js-basic/7-functions/7-10-training-module

1 file changed

+102
-0
lines changed
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
'use strict';
2+
3+
// Задание 1:
4+
// Создайте функцию, которая принимает имя пользователя и возвращает персонализированное приветствие.
5+
6+
function sayHi(name) {
7+
if (!name || typeof name !== 'string') {
8+
return '';
9+
}
10+
11+
name = name.trim();
12+
13+
if (name.length > 10) {
14+
return '';
15+
}
16+
17+
return `Привет, ${name}!`;
18+
}
19+
20+
console.log(sayHi('Анна')); // "Привет, Анна!"
21+
console.log(sayHi('Максим')); // "Привет, Максим!"
22+
console.log(sayHi('ВасяИванНиколай')); // ""
23+
24+
// Задание 2:
25+
// Создайте функцию, которая вычисляет площадь прямоугольника по заданным длине и ширине.
26+
27+
function getRectangleArea(width, height) {
28+
if (!width || typeof width !== 'number') {
29+
return 0;
30+
}
31+
32+
if (!height || typeof height !== 'number') {
33+
return 0;
34+
}
35+
36+
if (width > 1000 || height > 1000) {
37+
return 0;
38+
}
39+
40+
return width * height;
41+
}
42+
43+
console.log(getRectangleArea(5, 3)); // 15
44+
console.log(getRectangleArea(7.5, 2.4)); // 18
45+
console.log(getRectangleArea(9.1, 0)); // 0
46+
47+
// Задание 3:
48+
// Создайте функцию, которая проверяет, является ли переданное число четным.
49+
50+
function isNumEven(num) {
51+
if (!num || typeof num !== 'number') {
52+
return false;
53+
}
54+
55+
if (!Number.isInteger(num)) {
56+
return false; // если не целое..
57+
}
58+
59+
return num % 2 === 0; // одна строка, if...else не нужен
60+
}
61+
62+
console.log(isNumEven(4)); // true
63+
console.log(isNumEven(7)); // false
64+
console.log(isNumEven(0)); // true
65+
console.log(isNumEven(-2)); // true
66+
console.log(isNumEven(9.9)); // false
67+
68+
// Задание 4:
69+
// Создайте функцию, которая принимает строку и возвращает её длину в символах.
70+
71+
function returnCharLength(str) {
72+
if (!str || typeof str !== 'string') {
73+
return 0;
74+
}
75+
76+
return str.length;
77+
}
78+
79+
console.log(returnCharLength('JavaScript')); // 10
80+
console.log(returnCharLength('Привет мир!')); // 11
81+
console.log(returnCharLength('')); // 0
82+
console.log(returnCharLength('123 abc')); // 7
83+
84+
// Задание 5:
85+
// Создайте стрелочную функцию, которая принимает два числа и возвращает их произведение.
86+
87+
const multiplyNumbers = (a, b) => {
88+
if (typeof a !== 'number') {
89+
return NaN;
90+
}
91+
92+
if (typeof b !== 'number') {
93+
return NaN;
94+
}
95+
96+
return a * b;
97+
};
98+
99+
console.log(multiplyNumbers(6, 4)); // 24
100+
console.log(multiplyNumbers(2.5, 3)); // 7.5
101+
console.log(multiplyNumbers(-5, 8)); // -40
102+
console.log(multiplyNumbers(0, 15)); // 0

0 commit comments

Comments
 (0)