123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- // Temperature
- // Оформите Temperature как функцию, в которую параметром передается температура в одной системе, а возвращается
- // в другой. Никаких prompt и console.log в коде быть не должно, если вы хотите в дальнейшем пользоваться этой
- // функцией где угодно в коде удобно. Нужен ли блок кода в функции для решения этой задачи?
- temperature: {
- const temperatureFromCtoF = c => c * 9 / 5 + 32;
- console.log(temperatureFromCtoF(36));
- console.log(temperatureFromCtoF(14));
- }
- // RGB
- // Оформите Number: RGB как функцию, в которую параметрами передаются три числа (r,g,b) => . Функция должна
- // возвращать строку в нотации #RRGGBB. Используя условия или тернарный оператор добейтесь что бы в результате
- // всегда было 7 символов, даже когда значение цвета меньше 15ти. Нужен ли блок кода этой функции?
- rgb: {
- const rgb = (r, g, b) => {
- let color = '#' + (r > 15 ? r.toString(16) : '0' + r.toString(16)) +
- (g > 15 ? g.toString(16) : '0' + g.toString(16)) +
- (b > 15 ? b.toString(16) : '0' + b.toString(16));
- return color;
- }
- console.log(rgb(5, 5, 5));
- console.log(rgb(13, 35, 456));
- }
- // Flats
- // Оформите Number: flats как функцию. Продумайте достаточное количество параметров для решения задачи. Функция
- // должна возвращать объект вида {entrance, floor}, где entrance - номер падика, floor - номер этажа на котором
- // находится квартира.
- flats: {
- const apartmentSearch = (numberOfFloors, numberOfApartmentsOnFloor, apartmentNumber) => {
- let apartmentLocation = {
- entrance: null,
- floor: null,
- }
- apartmentLocation.entrance = Math.ceil(apartmentNumber / (numberOfFloors * numberOfApartmentsOnFloor));
- apartmentLocation.floor = Math.ceil(apartmentNumber % (numberOfFloors * numberOfApartmentsOnFloor) /
- numberOfApartmentsOnFloor) || numberOfFloors;
- return apartmentLocation;
- }
- console.log(apartmentSearch(9, 4, 81));
- }
- // Credentials
- // Оформите задание String: credentials как функцию без параметров. Используйте функцию capitalize из домашнего
- // задания по массивам. Функция должна содержать вызовы prompt и возвращать объект вида {name, surname, fatherName, fullName}
- credentials: {
- const capitalize = (str) => {
- let result = str.trim().slice(0, 1).toUpperCase() + str.trim().slice(1).toLowerCase();
- return result;
- }
- const credentials = () => {
- let person = {}
- person.name = capitalize(prompt('What is your name?'));
- person.surname = capitalize(prompt('What is your surname?'));
- person.fatherName = capitalize(prompt('What is your middle name?'));
- person.fullName = person.surname + ' ' + person.name + ' ' + person.fatherName;
- return person;
- }
- credentials();
- }
- // New line
- // Оформите задание String: new line как функцию с параметром-строкой. Функция должна возвращать строку с
- // настоящими переносами.
- new_line: {
- const newLine = (str) => {
- let result = str.split('\\n').join('\n');
- return result;
- }
- alert(newLine(prompt("Enter the string. As a newline marker use '\\n'")));
- }
- // Prompt OR
- // Оформите задание Prompt: OR как функцию, которая принимает строку для prompt и значение по умолчанию.
- // Функция должна возвращать введенный текст или значение по умолчанию в случае отказа пользователя вводить
- // что-либо. Используйте функцию без блока кода (функцию в одно выражение)
- prompt_or: {
- const promptOr = (str, defaultValue) => prompt(str) || defaultValue;
- alert(promptOr('Enter something', 'error'));
- }
- // Login And Password
- // Оформите задание Login And Password как функцию, которая принимает два параметра - правильный логин и пароль
- // и возвращает true если логин и пароль введенные пользователями верны, или false если пользователь не смог.
- loginAndPassword: {
- const loginAndPassword = (correctLogin, correctPassword) => {
- let login = prompt('Enter your login');
- if (login === correctLogin) {
- let password = prompt('Enter your password');
- if (password === correctPassword) {
- return alert('Congratulations! You entered correct login and password');
- } else {
- return alert('Error! You entered wrong password');
- }
- } else {
- return alert('You entered wrong login');
- }
- }
- loginAndPassword('admin', 'qwerty');
- }
- // Filter Lexics
- // Оформите задание Filter Lexics как функцию, принимающую любую строку для проверки и массив некорректных слов
- // (['бляха', 'муха', "пляха", "шабля"], например). Функция должна возвращать строку без этих некорректных слов.
- filter_lexics: {
- const filterLexics = (str, arr) => {
- let filteredStr = str.split(' ').filter(item => !arr.includes(item.toLowerCase())).join(' ');
- return filteredStr;
- }
- alert(filterLexics(prompt('Enter the string'), ['бляха', 'муха', "пляха", "шабля"]));
- }
- // Array of objects sort
- // Сделайте обобщенную функцию сортировки массива с объектами
- // Функция позволяет отсортировать любой набор данных по имени поля (второй параметр). Третьим параметром идет
- // необязательный Boolean, который в случае true делает сортировку по возрастанию, в случае false - по убыванию.
- // По умолчанию (без третьего параметра) происходит сортировка по возрастанию.
- array_of_objects_sort: {
- var persons = [
- { name: "Иван", age: 17 },
- { name: "Мария", age: 35 },
- { name: "Алексей", age: 73 },
- { name: "Яков", age: 12 },
- ]
- const byField = (arr, fieldName, isAscending) => {
- let objSort = (a, b) => {
- if (a[fieldName] > b[fieldName]) {
- return isAscending || isAscending == undefined ? 1 : -1;
- } else if (a[fieldName] < b[fieldName]) {
- return isAscending || isAscending == undefined ? -1 : 1;
- } else {
- return 0;
- }
- }
- let sortedArr = arr.slice().sort(objSort);
- return sortedArr;
- }
- console.log(byField(persons, "age")); //сортирует по возрасту по возрастанию
- console.log(byField(persons, "name", false)); //сортирует по имени по убыванию
- }
- // Calc Func
- // Вспомните первое ДЗ по Javascript, в котором вы делали всякие расчеты используя код на Javascript. Оформите
- // это как функцию:
- // найдите все входящие данные, сделайте из них параметры
- // найдите переменную с результатом расчетов и сделайте так, что бы ваша функция возвращала этот результат.
- // Если результатов несколько, создайте объект из этих результатов и верните его.
- calc_func: {
- const calcFunc = (dayCount, duration) => {
- let totalHoursPerYear = ((dayCount * duration * 365) / 60).toFixed(2);
- return totalHoursPerYear;
- }
- alert("Вы тратите " + calcFunc(2, 10) + " часов в год на кофе-брейки");
- }
|