Skip to content

Commit 2ef9d10

Browse files
authored
Merge pull request #3 from AlenaBeloglazova/module4-task1
2 parents 6ee3393 + 4964a12 commit 2ef9d10

File tree

3 files changed

+76
-11
lines changed

3 files changed

+76
-11
lines changed

index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,5 +234,6 @@ <h2 class="data-error__title">Не удалось загрузить данны
234234
</section>
235235
</template>
236236
<script src="./js/functions.js"></script>
237+
<script src="./js/main.js"></script>
237238
</body>
238239
</html>

js/functions.js

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,23 @@
11

22
// Функция для проверки длины строки
33

4-
const checksSringLength = (string, maxLeight) => {
5-
if (string.length <= maxLeight) {
6-
return true;
7-
}
8-
return false;
9-
};
4+
const checksSringLength = (string, maxLength) => string.length <= maxLength;
105

11-
console.log(checksSringLength ('проверяемая строка', 20));
12-
console.log(checksSringLength ('проверяемая строка', 1));
6+
checksSringLength ('проверяемая строка', 20);
7+
checksSringLength ('проверяемая строка', 1);
138

149

1510
// Функция для проверки, является ли строка палиндромом
1611

17-
const checkString = string => {
12+
const checkString = (string) => {
1813
let reversed = '';
1914
for (let i = string.length - 1; i >= 0; i--) {
2015
reversed += string[i];
2116
}
2217
return string === reversed;
2318
};
2419

25-
console.log(checkString("кекс"));
26-
console.log(checkString("радар"));
20+
checkString('кекс');
21+
checkString('радар');
2722

2823

js/main.js

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
const MESSAGE = ['Всё отлично!', 'В целом всё неплохо. Но не всё.', 'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.',
2+
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.', 'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.',
3+
'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!'];
4+
5+
const NAMES = ['Сергей', 'Иван', 'Дмитрий', 'Роман', 'Александр', 'Виктория', 'Ольга', 'Светлана', 'Михаил', 'Анастасия', 'Валентина', 'Петр', 'Виктор',];
6+
const MIN_LIKES = 15;
7+
const MAX_LIKES = 200;
8+
const POSTS_COUNT = 25;
9+
const MIN_COMMENTS = 0;
10+
const MAX_COMMENTS = 30;
11+
12+
const getRandomInteger = (a, b) => {
13+
const lower = Math.ceil(Math.min(a, b));
14+
const upper = Math.floor(Math.max(a, b));
15+
const result = Math.random() * (upper - lower + 1) + lower;
16+
return Math.floor(result);
17+
};
18+
19+
const getUniqueId = (() => {
20+
const used = [];
21+
return () => {
22+
let num;
23+
num = getRandomInteger(1, 25);
24+
while (used.includes(num)) {
25+
num = getRandomInteger(1, 25);
26+
}
27+
used.push(num);
28+
return num;
29+
};
30+
})();
31+
32+
33+
const createComments = (createPostCommentIdGenerator) => {
34+
const randomMessageIndex = getRandomInteger(0, MESSAGE.length - 1);
35+
const randomNameIndex = getRandomInteger(0, NAMES.length - 1);
36+
const avatarId = getRandomInteger(1, 6);
37+
38+
return {
39+
id: createPostCommentIdGenerator(),
40+
avatar: `img/avatar-${ avatarId }.svg`,
41+
message: MESSAGE[randomMessageIndex],
42+
name: NAMES[randomNameIndex],
43+
};
44+
};
45+
46+
47+
const createPhoto = () => {
48+
const id = getUniqueId();
49+
const commentCount = getRandomInteger (MIN_COMMENTS, MAX_COMMENTS);
50+
51+
const createPostCommentIdGenerator = (() => {
52+
let commentId = 0;
53+
return () => ++commentId;
54+
})();
55+
56+
const similarComments = Array.from({length: commentCount}, () => createComments(createPostCommentIdGenerator));
57+
58+
return {
59+
id: id,
60+
url: `photos/${ id }.jpg`,
61+
description: `Фотография №${ id }`,
62+
likes: getRandomInteger(MIN_LIKES, MAX_LIKES),
63+
comments: similarComments,
64+
};
65+
};
66+
67+
const similarPhotos = Array.from({length: POSTS_COUNT}, createPhoto);
68+
69+
console.dir(similarPhotos, { depth: null });

0 commit comments

Comments
 (0)