Skip to content

Commit

Permalink
repo with tasks HowProgrammingWorks#4
Browse files Browse the repository at this point in the history
  • Loading branch information
evakononchuk committed Aug 10, 2022
1 parent a6d200c commit 1163f87
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 42 deletions.
10 changes: 6 additions & 4 deletions Exercises/1-for.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
'use strict';
"use strict";

const sum = (...args) => {
// Use for loop and accumulator variable
// to calculate sum of all given arguments
// For example sum(1, 2, 3) should return 6
let res = 0;
for (let i = 0; i < args.length; i++) {
res += args[i];
}
return res;
};

module.exports = { sum };
10 changes: 6 additions & 4 deletions Exercises/2-for-of.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
'use strict';
"use strict";

const sum = (...args) => {
// Use for..of loop and accumulator variable
// to calculate sum of all given arguments
// For example sum(1, 2, 3) should return 6
let res = 0;
for (const num of args) {
res += num;
}
return res;
};

module.exports = { sum };
10 changes: 6 additions & 4 deletions Exercises/3-while.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
'use strict';
"use strict";

const sum = (...args) => {
// Use while loop and accumulator variable
// to calculate sum of all given arguments
// For example sum(1, 2, 3) should return 6
let res = 0;
while (args.length > 0) {
res += args.shift();
}
return res;
};

module.exports = { sum };
11 changes: 7 additions & 4 deletions Exercises/4-do-while.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
'use strict';
"use strict";

const sum = (...args) => {
// Use do..while loop and accumulator variable
// to calculate sum of all given arguments
// For example sum(1, 2, 3) should return 6
if (args.length === 0) return 0;
let res = 0;
do {
res += args.shift();
} while (args.length > 0);
return res;
};

module.exports = { sum };
7 changes: 2 additions & 5 deletions Exercises/5-reduce.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
'use strict';
"use strict";

const sum = (...args) => 0;
// Use Array.prototype.reduce method
// to calculate sum of all given arguments
// For example sum(1, 2, 3) should return 6
const sum = (...args) => args.reduce((acc, args) => acc + args, 0);

module.exports = { sum };
16 changes: 11 additions & 5 deletions Exercises/6-matrix.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
'use strict';
"use strict";

const max = matrix => {
// Use nested for loop to find max value in 2d matrix
// For example max([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
// should return 9
const max = (matrix) => {
let arr2d = matrix[0][0];
for (let i = 0; i < matrix.length; i++) {
const row = matrix[i];
for (let a = 0; a < row.length; a++) {
const col = row[a];
if (arr2d < col) arr2d = col;
}
}
return arr2d;
};

module.exports = { max };
25 changes: 9 additions & 16 deletions Exercises/7-ages.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,12 @@
'use strict';
"use strict";

const ages = persons => {
// Use for..in to calculate age for each person
// For example ages({
// lenin: { born: 1870, died: 1924 },
// mao: { born: 1893, died: 1976 },
// gandhi: { born: 1869, died: 1948 },
// hirohito: { born: 1901, died: 1989 },
// })
// should return {
// lenin: 54,
// mao: 83,
// gandhi: 79,
// hirohito: 88,
// }
};
const ages = (persons) => {
const staf = {};

for (const i in persons) {
const info = persons[i];
staf[i] = info.died - info.born;
}
return staf;
};
module.exports = { ages };

0 comments on commit 1163f87

Please sign in to comment.