|
1 | | -const MESSAGE = ['Всё отлично!', 'В целом всё неплохо. Но не всё.', 'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.', |
2 | | - 'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.', 'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.', |
3 | | - 'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!']; |
4 | 1 |
|
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); |
| 2 | +import {similarPhotos} from './data.js'; |
68 | 3 |
|
69 | 4 | console.dir(similarPhotos, { depth: null }); |
0 commit comments