1+ /*
2+ Напишите функцию которая будет возвращать объект
3+ с свойством name, а значением будет первый аргумент функции
4+ */
5+
6+ function returnObject ( value ) {
7+ let obj = {
8+ name : value
9+ }
10+
11+ return obj
12+ }
13+
14+ var someObject = returnObject ( 'Serg' ) ;
15+ console . log ( someObject ) ;
16+
17+ /*
18+ Функция будет принимать 1 аргумент - ОБЪЕКТ у которого
19+ будет свойство name
20+ и возвращать новый объект изменяя свойство name
21+ в большой регистр
22+ */
23+
24+ function toUpperCase ( obj ) {
25+ let newObj = {
26+ name : obj . name . toUpperCase ( )
27+ }
28+
29+
30+ return newObj
31+ }
32+ const objectWithName = { name : 'privet kak dela' } ;
33+ console . log ( objectWithName ) ;
34+ console . log ( toUpperCase ( objectWithName ) ) ;
35+
36+ /*
37+ 1. Напишите функцию которая принимает в
38+ качестве аргумента массив и элемент массива
39+ и добавляет элемент в конец массива
40+ */
41+
42+ let arr = [ ] ;
43+ arr [ 0 ] = 'privet' ;
44+ arr [ 1 ] = 'poka' ;
45+ arr [ 2 ] = 'zdrastvuite' ;
46+
47+ function addToArray ( arrParam , newElem ) {
48+ arr [ arr . length ] = newElem ;
49+ return arr ;
50+ }
51+
52+ addToArray ( arr , 34 ) ;
53+ addToArray ( arr , 55 ) ;
54+ console . log ( arr ) ;
55+
56+ /*
57+ 2. Напишите функцию которая получает 3 параметра
58+ и возвращает объект типа:
59+ {
60+ argument1: param1,
61+ argument2: param2,
62+ argument3: param3,
63+ }
64+ */
65+
66+ function simpleObjectGenerator ( one , two , three ) {
67+ let obj = {
68+ name : one ,
69+ url : two ,
70+ number : three
71+ }
72+ return obj
73+ }
74+
75+ console . log ( simpleObjectGenerator ( 'protocol' , { url : '22' } , 8000 ) ) ;
76+ /* {
77+ argument1:'protocol',
78+ argument2:{url:'22'},
79+ argument3:8000
80+ }*/
81+
82+ // var userNames = [{ name: 'Egor' }, { name: 'Katya' }, { name: 'Vera' }];
83+
84+ // console.log(simpleObjectGenerator(77, userNames, 'privet kak dela chto novogo'.toUpperCase()));
85+ /* {
86+ argument1:'77',
87+ argument2:[{ name: 'Egor' }, { name: 'Katya' }, { name: 'Vera' }],
88+ argument3:PRIVET KAK DELA CHTO NOVOGO
89+ }*/
90+
91+ ///////////////////////////////////////////////
92+ /*
93+ 3. Напишите функцию которая принимает 3 аргумента,
94+ третий аргумент - это объект.
95+ Функция создает новый объект и добавляет ключ
96+ это первый аргумент, а значение - второй аргумент
97+ Проверяет если есть свойство name в переданном объекте,
98+ тогда добавляет данное свойство и возвращает новый объект
99+ */
100+ var myName = { name : 'Serg' } ;
101+
102+ function addNameToUser ( newKey , newValue , userName ) {
103+ let obj = { } ;
104+ obj [ newKey ] = newValue ;
105+ if ( userName . name ) {
106+ obj . name = userName
107+ }
108+ return obj
109+ }
110+
111+ console . log ( addNameToUser ( 'family' , '%Lustenko%' , myName ) ) ;
112+ console . log ( addNameToUser ( 'name' , 'privet Pasha' , { } ) ) ;
113+ /* {name:'Oleg', family:'%Lustenko%'} */
114+
115+ console . log ( myName ) ;
116+ /* {name:'Oleg'} */
117+
118+ /////////////////////////////////
119+
120+ /*
121+ -> @@ SUPER !
122+ Напишите функцию, которая будет
123+ возвращать 'Fizz' если передаваемый параметр кратен 3,
124+ 'Buzz', если передаваемый параметр кратен 5,
125+ 'FizzBuzz' - если параметер кратен 3 и 5
126+ Если передаваемое число не кратно 3 или 5, то вернуть указанный параметр
127+ */
128+
129+ function fizzBuzz ( num ) {
130+ let someRes ;
131+ if ( num % 3 == 0 && num % 5 == 0 ) {
132+ someRes = 'FizzBuzz' ;
133+ } else if ( num % 3 == 0 ) {
134+ someRes = 'Fizz' ;
135+ } else if ( num % 5 == 0 ) {
136+ someRes = 'Buzz' ;
137+ } else {
138+ someRes = num ;
139+ }
140+ console . log ( someRes )
141+ return someRes
142+ }
143+
144+ fizzBuzz ( 1 ) ; // 1
145+ fizzBuzz ( 2 ) ; // 2
146+ fizzBuzz ( 3 ) ; // 'Fizz'
147+ fizzBuzz ( 5 ) ; // 'Buzz'
148+ // ...
149+ fizzBuzz ( 15 ) ; // 'FizzBuzz'
150+ fizzBuzz ( 21 ) ; // 'Fizz'
151+
152+ /* -> @@ SUPER 2
153+ Напишите функцию, которая будет принимать 4 аргумента,
154+ последний всегда функция.
155+ Добавьте первые 3 аргумента в массив и вызовите переданную функцию с данным массивом
156+ */
157+
158+ function super2 ( arg1 , arg2 , arg3 , callback ) {
159+ let arr = [ arg1 , arg2 , arg3 ] ;
160+ callback ( arr ) ;
161+ }
162+ let callArr = function ( callback ) {
163+ console . log ( callback ) ;
164+ }
165+
166+ super2 ( 'my' , 'name' , 'Serg' , callArr ) ;
0 commit comments