Skip to content

Commit 3c446bf

Browse files
Amendments in homework and additional tasks
1 parent c8f1c42 commit 3c446bf

File tree

1 file changed

+116
-5
lines changed
  • js-core/homeworks/homework-7/src

1 file changed

+116
-5
lines changed

js-core/homeworks/homework-7/src/main.js

Lines changed: 116 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
//Task1
22
function add(arg1) {
3-
let value1 = arg1;
43
return function (arg2) {
5-
let value2 = arg2;
64
return function (arg3) {
7-
let value3 = arg3;
8-
return value1 = value1 + value2 + value3;
5+
return arg1 = arg1 + arg2 + arg3;
96
};
107
};
118
};
@@ -109,4 +106,118 @@ console.log('Super ', jun2.addCounter(3, methodName));
109106
console.log('Super ', jun2.logger(1, 2, 3, 4));
110107
console.log('Super ', jun2.logger(1, 2, 3, 4));
111108
console.log('Super ', jun2.logger(1, 2, 3, 4));
112-
console.log('Super ', jun2.logger(1, 2, 3, 4));
109+
console.log('Super ', jun2.logger(1, 2, 3, 4));
110+
111+
//Задачи:
112+
113+
function factorial(n) {
114+
if(n > 1) {
115+
return n * factorial(n - 1);
116+
};
117+
return n
118+
};
119+
console.log(factorial(5));
120+
121+
122+
function sumToRecursion(n) {
123+
if(n > 1) {
124+
return n + factorial(n - 1);
125+
};
126+
return n;
127+
};
128+
console.log(sumToRecursion(4));
129+
130+
131+
132+
function sumToCycle(n) {
133+
let k = n;
134+
for (let i = 1; i < k; i++) {
135+
n = n + (k - i);
136+
};
137+
return n;
138+
};
139+
console.log(sumToCycle(4));
140+
141+
142+
143+
function sum (arg1) {
144+
return function (arg2) {
145+
return arg1 + arg2;
146+
};
147+
};
148+
console.log(sum(5)(-1));
149+
150+
151+
152+
function makeBuffer() {
153+
let buffer = '';
154+
return function (value) {
155+
if(value == undefined) {
156+
return buffer;
157+
};
158+
return buffer = buffer + value;
159+
};
160+
};
161+
let buffer = makeBuffer();
162+
console.log(buffer(1));
163+
console.log(buffer(2));
164+
console.log(buffer(3));
165+
console.log(buffer());
166+
167+
168+
169+
170+
function makeBuffer2() {
171+
let buff = '';
172+
function buffer2 (value) {
173+
if(value == undefined) {
174+
return buff;
175+
};
176+
return buff = buff + value;
177+
};
178+
buffer2.clear = function () {
179+
buff = '';
180+
};
181+
return buffer2;
182+
};
183+
let buffer2 = makeBuffer2();
184+
185+
buffer2("Тест");
186+
buffer2(" тебя не съест ");
187+
console.log( buffer2() ); // Тест тебя не съест
188+
189+
buffer2.clear();
190+
console.log( buffer2() );
191+
192+
193+
194+
195+
let users = [{
196+
name: "Вася",
197+
surname: 'Иванов',
198+
age: 20
199+
}, {
200+
name: "Петя",
201+
surname: 'Чапаев',
202+
age: 25
203+
}, {
204+
name: "Маша",
205+
surname: 'Медведева',
206+
age: 18
207+
}];
208+
209+
function byField(field) {
210+
return function (a, b) {
211+
return a[field] > b[field]? 1: -1;
212+
};
213+
};
214+
215+
users.sort(byField('name'));
216+
users.forEach(function(user) {
217+
console.log( user.name );
218+
}); // Вася, Маша, Петя
219+
220+
users.sort(byField('age'));
221+
users.forEach(function(user) {
222+
console.log( user.name );
223+
}); // Маша, Вася, Петя

0 commit comments

Comments
 (0)