Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@ <h2 class="data-error__title">Не удалось загрузить данны
</section>
</template>
<script src="js/functions.js"></script>
<script src="js/main.js"></script>
</body>

</html>
36 changes: 6 additions & 30 deletions js/functions.js
Original file line number Diff line number Diff line change
@@ -1,54 +1,30 @@
// Функция для проверки длины строки.

const stringLength = (string, maxLelgth) => {
if (string.length <= maxLelgth) {
return true;
}
return false;
};

// Строка короче 20 символов
stringLength('проверяемая строка', 20); // true
// Длина строки ровно 18 символов
stringLength('проверяемая строка', 18); // true
// Строка длиннее 10 символов
stringLength('проверяемая строка', 10); // false
const checkStringLength = (string, maxLength) => string.length <= maxLength;

checkStringLength();

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

const isPalindrom = (string) => {
const optimizedString = string.replaceAll(' ', '').toLowerCase();

let newString = '';

for (let i = optimizedString.length - 1; i >= 0; i--) {
newString += optimizedString[i];
}

return newString === optimizedString;
};

console.log(isPalindrom('топот')); // true
console.log(isPalindrom('ДовОд')); // true
console.log(isPalindrom('Кекс')); // false
console.log(isPalindrom('Лёша на полке клопа нашёл ')); // true
isPalindrom();


const getNumber = (string) => {
const numberString = string.toString().replace(/\D/g, '');

return parseInt(numberString, 10);
};

console.log(getNumber('2023 год')); // 2023
console.log(getNumber('ECMAScript 2022')); // 2022
console.log(getNumber('1 кефир, 0.5 батона')); // 105
console.log(getNumber('агент 007')); // 7
console.log(getNumber('а я томат')); // NaN

console.log(getNumber(2023)); // 2023
console.log(getNumber(-1)); // 1
console.log(getNumber(1.5)); // 15

// метод Match тоже можно))) Проверил с методом replace возвращает всё корректно
// Как перебрать с помощью цикла не разобрался, если возможно покажи пожалуйсто
getNumber();

71 changes: 71 additions & 0 deletions js/main.js
Original file line number Diff line number Diff line change
@@ -1,0 +1,71 @@
const NAMES = [
'Владимир',
'Генадий',
'Олег',
'Виталий',
'Максим',
'Наталья',
'Светлана',
'Ольга',
'Ева'
];

const DESCRIPTION = [
'Замечательное фото',
'Отличный ракурс',
'Классная идея',
'Красивое фото',
'Это фото заслуживае отдельного внимания',
'Можно сразу на обложку журнала',
'У тебя определённо талант!!!'
];

const MESSAGES = [
'Всё отлично!',
'В целом всё неплохо.',
'Но не всё.',
'Когда вы делаете фотографию, хорошо бы убирать палец из кадра.',
'В конце концов это просто непрофессионально.',
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.',
'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.',
'Лица у людей на фотке перекошены, как будто их избивают., Как можно было поймать такой неудачный момент?!'];


const getRandomInteger = (min, max) => {
min = Math.ceil(min);
max = Math.floor(max);

return Math.floor(Math.random() * (max - min + 1) + min);
};

const getRandomArrayElement = (elements) => elements[getRandomInteger(0, elements.length - 1)];

const createIdGenirator = () => {
let currentId = 0;

return () => ++currentId;
};

const generatePhotoId = createIdGenirator();
const generateCommentsId = createIdGenirator();
const generateUrl = createIdGenirator();

const PHOTO_COUNT = 25;

const createComentsPhoto = () => ({
id: generateCommentsId(),
avatar: `img/avatar-${getRandomInteger(1, 6)}.svg`,
message: getRandomArrayElement(MESSAGES),
name: getRandomArrayElement(NAMES)
});

const createFotoDescription = () => ({
id: generatePhotoId(1, 25),
url: `photos/${generateUrl(1, 25)}.jpg`,
description: getRandomArrayElement(DESCRIPTION),
likes: getRandomInteger(15, 200),
comments: Array.from({ length: getRandomInteger(0, 30) }, createComentsPhoto)
});

const photoObject = Array.from({ length: PHOTO_COUNT }, createFotoDescription);

Check failure on line 70 in js/main.js

View workflow job for this annotation

GitHub Actions / Check

'photoObject' is assigned a value but never used

Loading