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