//Arrow to Functions //Переведите любые пять заданий из предыдущего ДЗ по функциям в синтаксис function //Number: temperature { function fahrenheit(x){return x * 1.8 + 32} // функция конвертации из цельсия в фарингейты console.log(fahrenheit(20))//68 градусов по фарингейту } //Flats { function flats (apartmentNumber,floorNumber,numberApartmentsFloor){ let sumApartments = floorNumber*numberApartmentsFloor// здесь мы узнаем сколько квартир в подьезде let entrance = Math.ceil(apartmentNumber/sumApartments)//номер подьезда let floor = Math.ceil((apartmentNumber%sumApartments)/numberApartmentsFloor)//номер этажа return {entrance,floor} } console.log(flats(65,9,4))//{entrance: 2, floor: 8} } //Credentials { function credentials (){ let name = prompt("Введите имя").trim().toLowerCase(); let surname = prompt("Введите фамилию").trim().toLowerCase(); let fatherName = prompt("Введите отчество").trim().toLowerCase(); name = name[0].toUpperCase()+name.slice(1); surname = surname[0].toUpperCase()+surname.slice(1); fatherName = fatherName[0].toUpperCase()+fatherName.slice(1); fullName = name+' '+surname+' '+fatherName return {name,surname,fatherName,fullName} } console.log(credentials()) } //New line { function newLine (str){ let result = (str.split('\\n').join('\n')) return result } console.log(newLine('1 строка\n2 строка')) } //Prompt OR { function promptOr(age){ age ? alert('Вы ' +(2022 - age)+ ' года рождения!') :alert('Ошибка') } console.log(promptOr(+prompt('Сколько вам лет?'))) } //createPerson { function createPerson(name, surname){ let obj = { 'name': name, 'surname': surname, getFullName: function (){ if(obj.fatherName){ return `${this.name} ${this.fatherName} ${this.surname}` } else{return `${this.name} ${this.surname}`} } } return obj } const a = createPerson("Вася", "Пупкин") const b = createPerson("Анна", "Иванова") const c = createPerson("Елизавета", "Петрова") console.log(a.getFullName()) //Вася Пупкин a.fatherName = 'Иванович' console.log(a.getFullName())//Вася Иванович Пупкин console.log(b.getFullName()) //Анна Иванова } //createPersonClosure { function createPersonClosure(name, surname){ let age let fatherName let obj return obj = { getName: function (){return name}, getSurname: function (){return surname}, getFatherName: function (){return fatherName}, getAge: function (){return age}, getFullName: function (){return `${name} ${surname} ${fatherName} ${age}`}, setName: function (newName){ if(newName.slice(0,1)===newName.toUpperCase().slice(0,1)){ name=newName return obj.getName() } else{return obj.getName()} }, setSurname: function (newSurname){ if(newSurname.slice(0,1)===newSurname.toUpperCase().slice(0,1)){ surname=newSurname return obj.getSurname() } else{return obj.getSurname()} }, setFatherName: function (newFatherName){ if(newFatherName.slice(0,1)===newFatherName.toUpperCase().slice(0,1)){ fatherName=newFatherName return obj.getFatherName() } else{return obj.getFatherName()} }, setAge: function (newAge){ if(newAge<100 && newAge>0){ age=newAge return obj.getAge() } else{return obj.getAge()} }, setFullName: function (newFullName){ let [surnameCheck, nameCheck, fatherNameCheck] = newFullName.split(' ') if(nameCheck.slice(0,1)===nameCheck.toUpperCase().slice(0,1) && fatherNameCheck.slice(0,1)===fatherNameCheck.toUpperCase().slice(0,1) && surnameCheck.slice(0,1)===surnameCheck.toUpperCase().slice(0,1)){ [surname, name, fatherName] = newFullName.split(' ') return obj.getFullName() } else{return obj.getFullName()} } } } const a = createPersonClosure("Вася", "Пупкин") const b = createPersonClosure("Анна", "Иванова") console.log(a.getName()) a.setAge(15) a.setAge(150) //не работает b.setFullName("Петрова Анна Николаевна") console.log(b.getFatherName()) //Николаевна } //createPersonClosureDestruct { function createPersonClosureDestruct(person){ let {name='Иван',surname='Иванов',fatherName='Иванович',age=30}=person let obj return obj = { getName: function (){return name}, getSurname: function (){return surname}, getFatherName: function (){return fatherName}, getAge: function (){return age}, getFullName: function (){return `${name} ${surname} ${fatherName} ${age}`}, setName: function (newName){ if(newName.slice(0,1)===newName.toUpperCase().slice(0,1)){ name=newName return obj.getName() } else{return obj.getName()} }, setSurname: function (newSurname){ if(newSurname.slice(0,1)===newSurname.toUpperCase().slice(0,1)){ surname=newSurname return obj.getSurname() } else{return obj.getSurname()} }, setFatherName: function (newFatherName){ if(newFatherName.slice(0,1)===newFatherName.toUpperCase().slice(0,1)){ fatherName=newFatherName return obj.getFatherName() } else{return obj.getFatherName()} }, setAge: function (newAge){ if(newAge<100 && newAge>0){ age=newAge return obj.getAge() } else{return obj.getAge()} }, setFullName: function (newFullName){ let [surnameCheck, nameCheck, fatherNameCheck,] = newFullName.split(' ') if(nameCheck.slice(0,1)===nameCheck.toUpperCase().slice(0,1) && fatherNameCheck.slice(0,1)===fatherNameCheck.toUpperCase().slice(0,1) && surnameCheck.slice(0,1)===surnameCheck.toUpperCase().slice(0,1)){ [fatherName=fatherName, surname=surname, name=name, age=age] = newFullName.split(' ') return obj.getFullName() } else{return obj.getFullName()} } } } } //isSorted { function isSorted(...arr){ arr = arr.map((a,b)=>a>b?a:false) for(el of arr){ typeof el === 'number'?el=el:arr=false } if(typeof arr==='object'){ arr=true } return arr } //Test isSorted let arr = [] let el while (el=+prompt('Добавьте элемент в массив')) { arr.push(el) } isSorted(arr) } //personForm //personForm в index.html