From ffc1ee4780ab98693c2b8cc2e3ae88fbc0e6729a Mon Sep 17 00:00:00 2001 From: Vladimir Gankin Date: Sat, 30 Nov 2024 20:26:46 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=D1=8B=D1=85=20=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 1 + js/main.js | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) diff --git a/index.html b/index.html index 08296e2..796c395 100644 --- a/index.html +++ b/index.html @@ -234,6 +234,7 @@

Не удалось загрузить данны + diff --git a/js/main.js b/js/main.js index e69de29..7f04575 100644 --- a/js/main.js +++ b/js/main.js @@ -0,0 +1,85 @@ +const DESCRIPTIONS = [ + "Закат над морем", + "Городская улица ночью", + "Заснеженный лес", + "Кафе на набережной", + "Горная вершина", + "Цветущая сакура", +] + +const MESSAGES = [ + "Всё отлично!", + "В целом всё неплохо. Но не всё.", + "Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.", + "Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.", + "Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.", + "Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!", +] + +const NAMES = [ + "Артем", + "Александр", + "Виктор", + "Василий", + "Петр", + "Анастасия", + "Валерия", + "Виктория", + "Дарья", + "Елизавета", +] + +const getRandomInteger = function(min, max) { + let rand = min + Math.random() * (max + 1 - min); + return Math.floor(rand); +} + +const createIdGenerator = function(min, max) { + const previousValues = []; + + return function() { + let lastGeneratedId = getRandomInteger(min, max); + + if(previousValues.length >= (max - min + 1)) { + console.log("Закончились уникальные идентификаторы"); + return null; + } + + while(previousValues.includes(lastGeneratedId)) { + lastGeneratedId = getRandomInteger(min, max); + } + + previousValues.push(lastGeneratedId); + return lastGeneratedId; + } +} + +const getRandomArrayElement = (array) => array[getRandomInteger(0, array.length - 1)]; + +const generatePhotoId = createIdGenerator(1, 25); + +const generatePhotoUrlId = createIdGenerator(1, 25); + +const generateCommentId = createIdGenerator(1, 750); + +const createCommentObject = () => { + return { + id: generateCommentId(), + avatar: "img/avatar-" + getRandomInteger(1, 6) + ".svg", + message: getRandomArrayElement(MESSAGES), + name: getRandomArrayElement(NAMES), + } +} + +const createPhotoObject = () => { + return { + id: generatePhotoId(), + url: "photos/" + generatePhotoUrlId() + ".jpg", + description: getRandomArrayElement(DESCRIPTIONS), + likes: getRandomInteger(15, 200), + comments: Array.from({length: getRandomInteger(0, 30)}, createCommentObject) + }; +} + +const testPhotoObjects = Array.from({length: 25}, createPhotoObject); + From e2008cf3ad0da20134a8dd40991e7fb8d62c7e23 Mon Sep 17 00:00:00 2001 From: Vladimir Gankin Date: Sat, 30 Nov 2024 20:49:47 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D1=8F=D0=B5=D1=82=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=BB=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/main.js | 93 ++++++++++++++++++++++++++---------------------------- 1 file changed, 44 insertions(+), 49 deletions(-) diff --git a/js/main.js b/js/main.js index 7f04575..b4c16a6 100644 --- a/js/main.js +++ b/js/main.js @@ -1,38 +1,38 @@ const DESCRIPTIONS = [ - "Закат над морем", - "Городская улица ночью", - "Заснеженный лес", - "Кафе на набережной", - "Горная вершина", - "Цветущая сакура", -] + 'Закат над морем', + 'Городская улица ночью', + 'Заснеженный лес', + 'Кафе на набережной', + 'Горная вершина', + 'Цветущая сакура', +]; const MESSAGES = [ - "Всё отлично!", - "В целом всё неплохо. Но не всё.", - "Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.", - "Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.", - "Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.", - "Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!", -] + 'Всё отлично!', + 'В целом всё неплохо. Но не всё.', + 'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.', + 'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.', + 'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.', + 'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!', +]; const NAMES = [ - "Артем", - "Александр", - "Виктор", - "Василий", - "Петр", - "Анастасия", - "Валерия", - "Виктория", - "Дарья", - "Елизавета", -] + 'Артем', + 'Александр', + 'Виктор', + 'Василий', + 'Петр', + 'Анастасия', + 'Валерия', + 'Виктория', + 'Дарья', + 'Елизавета', +]; const getRandomInteger = function(min, max) { - let rand = min + Math.random() * (max + 1 - min); + const rand = min + Math.random() * (max + 1 - min); return Math.floor(rand); -} +}; const createIdGenerator = function(min, max) { const previousValues = []; @@ -41,7 +41,7 @@ const createIdGenerator = function(min, max) { let lastGeneratedId = getRandomInteger(min, max); if(previousValues.length >= (max - min + 1)) { - console.log("Закончились уникальные идентификаторы"); + console.log('Закончились уникальные идентификаторы'); return null; } @@ -51,8 +51,8 @@ const createIdGenerator = function(min, max) { previousValues.push(lastGeneratedId); return lastGeneratedId; - } -} + }; +}; const getRandomArrayElement = (array) => array[getRandomInteger(0, array.length - 1)]; @@ -62,24 +62,19 @@ const generatePhotoUrlId = createIdGenerator(1, 25); const generateCommentId = createIdGenerator(1, 750); -const createCommentObject = () => { - return { - id: generateCommentId(), - avatar: "img/avatar-" + getRandomInteger(1, 6) + ".svg", - message: getRandomArrayElement(MESSAGES), - name: getRandomArrayElement(NAMES), - } -} - -const createPhotoObject = () => { - return { - id: generatePhotoId(), - url: "photos/" + generatePhotoUrlId() + ".jpg", - description: getRandomArrayElement(DESCRIPTIONS), - likes: getRandomInteger(15, 200), - comments: Array.from({length: getRandomInteger(0, 30)}, createCommentObject) - }; -} +const createCommentObject = () => ({ + id: generateCommentId(), + avatar: 'img/avatar-' + getRandomInteger(1, 6) + '.svg', + message: getRandomArrayElement(MESSAGES), + name: getRandomArrayElement(NAMES), +}); + +const createPhotoObject = () => ({ + id: generatePhotoId(), + url: 'photos/' + generatePhotoUrlId() + '.jpg', + description: getRandomArrayElement(DESCRIPTIONS), + likes: getRandomInteger(15, 200), + comments: Array.from({length: getRandomInteger(0, 30)}, createCommentObject) +}); const testPhotoObjects = Array.from({length: 25}, createPhotoObject); -