8000 Add Solution To calculator.js · TezzGit/javascript-exercises@bfefdb8 · GitHub
[go: up one dir, main page]

Skip to content

Commit bfefdb8

Browse files
committed
Add Solution To calculator.js
1 parent ce6c63c commit bfefdb8

File tree

2 files changed

+31
-27
lines changed

2 files changed

+31
-27
lines changed

08_calculator/calculator.js

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,29 @@
1-
const add = function() {
2-
1+
const add = function (a, b) {
2+
return a + b;
33
};
44

5-
const subtract = function() {
6-
5+
const subtract = function (a, b) {
6+
return a - b;
77
};
88

9-
const sum = function() {
10-
9+
const sum = function (array) {
10+
return array.reduce((total, item) => total + item, 0)
1111
};
1212

13-
const multiply = function() {
14-
13+
const multiply = function (array) {
14+
return array.reduce((total, item) => total * item)
1515
};
1616

17-
const power = function() {
18-
17+
const power = function (a, b) {
18+
return a ** b;
1919
};
2020

21-
const factorial = function() {
22-
21+
const factorial = function (num) {
22+
let result = 1;
23+
for (let i = 1; i <= num; i++) {
24+
result *= i;
25+
}
26+
return result;
2327
};
2428

2529
// Do not edit below this line

08_calculator/calculator.spec.js

Lines changed: 15 additions & 15 deletions
});
Original file line numberDiff line numberDiff line change
@@ -5,73 +5,73 @@ describe('add', () => {
55
expect(calculator.add(0, 0)).toBe(0);
66
});
77

8-
test.skip('adds 2 and 2', () => {
8+
test('adds 2 and 2', () => {
99
expect(calculator.add(2, 2)).toBe(4);
1010
});
1111

12-
test.skip('adds positive numbers', () => {
12+
test('adds positive numbers', () => {
1313
expect(calculator.add(2, 6)).toBe(8);
1414
});
1515
});
1616

1717
describe('subtract', () => {
18-
test.skip('subtracts numbers', () => {
18+
test('subtracts numbers', () => {
1919
expect(calculator.subtract(10, 4)).toBe(6);
2020
});
2121
});
2222

2323
describe('sum', () => {
24-
test.skip('computes the sum of an empty array', () => {
24+
test('computes the sum of an empty array', () => {
2525
expect(calculator.sum([])).toBe(0);
2626
});
2727

28-
test.skip('computes the sum of an array of one number', () => {
28+
test('computes the sum of an array of one number', () => {
2929
expect(calculator.sum([7])).toBe(7);
3030
});
3131

32-
test.skip('computes the sum of an array of two numbers', () => {
32+
test('computes the sum of an array of two numbers', () => {
3333
expect(calculator.sum([7, 11])).toBe(18);
3434
});
3535

36-
test.skip('computes the sum of an array of many numbers', () => {
36+
test('computes the sum of an array of many numbers', () => {
3737
expect(calculator.sum([1, 3, 5, 7, 9])).toBe(25);
3838
});
3939
});
4040

4141
describe('multiply', () => {
42-
test.skip('multiplies two numbers', () => {
42+
test('multiplies two numbers', () => {
4343
expect(calculator.multiply([2, 4])).toBe(8);
4444
});
4545

46-
test.skip('multiplies several numbers', () => {
46+
test('multiplies several numbers', () => {
4747
expect(calculator.multiply([2, 4, 6, 8, 10, 12, 14])).toBe(645120);
4848
});
4949
});
5050

5151
describe('power', () => {
52-
test.skip('raises one number to the power of another number', () => {
52+
test('raises one number to the power of another number', () => {
5353
expect(calculator.power(4, 3)).toBe(64); // 4 to third power is 64
5454
});
5555
});
5656

5757
describe('factorial', () => {
58-
test.skip('computes the factorial of 0', () => {
58+
test('computes the factorial of 0', () => {
5959
expect(calculator.factorial(0)).toBe(1); // 0! = 1
6060
6161

62-
test.skip('computes the factorial of 1', () => {
62+
test('computes the factorial of 1', () => {
6363
expect(calculator.factorial(1)).toBe(1);
6464
});
6565

66-
test.skip('computes the factorial of 2', () => {
66+
test('computes the factorial of 2', () => {
6767
expect(calculator.factorial(2)).toBe(2);
6868
});
6969

70-
test.skip('computes the factorial of 5', () => {
70+
test('computes the factorial of 5', () => {
7171
expect(calculator.factorial(5)).toBe(120);
7272
});
7373

74-
test.skip('computes the factorial of 10', () => {
74+
test('computes the factorial of 10', () => {
7575
expect(calculator.factorial(10)).toBe(3628800);
7676
});
7777
});

0 commit comments

Comments
 (0)
0