Skip to content

Commit 62b4ad0

Browse files
authored
Merge branch 'master' into basicMath
2 parents 9f26f24 + cd4e1da commit 62b4ad0

6 files changed

Lines changed: 140 additions & 118 deletions

File tree

TODO.md

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,33 @@
11
### Methods we can implement
22

3-
- [x] Add two number
4-
- [x] Add an array
5-
- [x] Subtract one number from another
6-
- [x] Multiply two number
7-
- [x] Multiply an array
8-
- [x] Divide two number
9-
- [x] Find the number is Even
10-
- [x] Find the number is Odd
11-
- [x] Find the number is Prime
12-
- [x] Find the number can be divisible by another number
13-
- [x] Calculate the average of arguments
14-
- [x] Calculate the factorial of a number
15-
- [x] Convert a string to number
16-
- [x] Calculate the division of arguments
17-
- [x] Calculate the mod of collection index
18-
- [x] Calculate the remainder of division of arguments
19-
- [x] Compute the greatest common divisor between two numbers
20-
- [x] Convert a number to equivalent characters
21-
- [x] Convert degrees to radians
22-
- [x] Convert radians to degrees
23-
- [x] Get the arrays of digits from a number
24-
- [x] Round a number to a given number of digits
25-
- [x] Subtract arguments
26-
- [x] Truncate a number to a given number of decimal places without rounding
27-
- [X] Check palindrome number
283

29-
-----
4+
| Completed | Todo |
5+
| :--------------------------------------------------------------------: | :-------------------: |
6+
| Add two number | something we wanna do |
7+
| Add an array | |
8+
| Subtract one number from another | |
9+
| Multiply two number | |
10+
| Multiply an array | |
11+
| Divide two number | |
12+
| Find the number is Even | |
13+
| Find the number is Odd | |
14+
| Find the number is Prime | |
15+
| Find the number can be divisible by another number | |
16+
| Calculate the average of arguments | |
17+
| Calculate the factorial of a number | |
18+
| Convert a string to number | |
19+
| Calculate the division of arguments | |
20+
| Calculate the mod of collection index | |
21+
| Calculate the remainder of division of arguments | |
22+
| Compute the greatest common divisor between two numbers | |
23+
| Convert a number to equivalent characters | |
24+
| Convert degrees to radians | |
25+
| Convert radians to degrees | |
26+
| Get the arrays of digits from a number | |
27+
| Round a number to a given number of digits | |
28+
| Subtract arguments | |
29+
| Truncate a number to a given number of decimal places without rounding | |
30+
| Check palindrome number | |
31+
32+
33+

lib/basic.js

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* elements, return the result
44
* @param {*} array
55
*/
6-
exports.add = (...array) => {
6+
export function addition(...array) {
77
if (array[0][0] !== undefined) array = array[0];
88
return array.reduce((a, b) => a + b);
99
}
@@ -13,7 +13,7 @@ exports.add = (...array) => {
1313
* elements, return the result
1414
* @param {*} array
1515
*/
16-
exports.subtraction = (...array) => {
16+
export function subtraction(...array) {
1717
if (array[0][0] !== undefined) array = array[0];
1818
return array.reduce((a, b) => a - b);
1919
}
@@ -23,29 +23,27 @@ exports.subtraction = (...array) => {
2323
* elements, return the result
2424
* @param {*} array
2525
*/
26-
exports.multiplication = (...array) => {
26+
export function multiplication(...array) {
2727
if (array[0][0] !== undefined) array = array[0];
2828
return array.reduce((a, b) => a * b);
2929
}
3030

31-
3231
/**
3332
* Pass an (array or argument) and divide all the
3433
* elements, return the result
3534
* @param {*} array
3635
*/
37-
exports.division = (...array) => {
36+
export function division(...array) {
3837
if (array[0][0] !== undefined) array = array[0];
3938
return array.reduce((a, b) => a / b);
4039
}
4140

42-
4341
/**
4442
* Pass an (array or argument)
4543
* return average of the numbers
4644
* @param {*} array
4745
*/
48-
exports.average = (...array) => {
46+
export function average(...array) {
4947
if (array[0][0] !== undefined) array = array[0];
5048
let sum = array.reduce((a, b) => a + b);
5149
return parseFloat(sum / array.length);
@@ -59,5 +57,6 @@ exports.average = (...array) => {
5957
* getRemainder(3, 5); // 3
6058
* getRemainder(6, 5); // 1
6159
*/
62-
exports.getRemainder = (firstNumber, secondNumber) =>
63-
((firstNumber % secondNumber) + secondNumber) % secondNumber;
60+
export function getRemainder(firstNumber, secondNumber) {
61+
return ((firstNumber % secondNumber) + secondNumber) % secondNumber;
62+
}

lib/conversion.js

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,42 @@
33
* @param {*} number
44
* digitToArray(12345); // [1, 2, 3, 4, 5]
55
*/
6-
exports.digitToArray = number =>
7-
`${number}`.split('').map(v => parseInt(v));
6+
export function digitToArray(number) {
7+
return `${number}`.split("").map((v) => parseInt(v));
8+
}
89

910
/**
1011
* Convert a number to equivalent characters
1112
* @param {*} number
1213
* numberToChars(0); // A
1314
* numberToChars(51); // AZ
1415
*/
15-
exports.numberToChars = number =>
16-
`${number >= 26 ? toChars(Math.floor(number / 26) - 1) : ''}
17-
${'ABCDEFGHIJKLMNOPQRSTUVWXYZ'[number % 26]}`;
16+
export function numberToChars(number) {
17+
return `${number >= 26 ? toChars(Math.floor(number / 26) - 1) : ""}
18+
${"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[number % 26]}`;
19+
}
1820

1921
/**
2022
* Convert degrees to radians
2123
* @param {*} deg
2224
*/
23-
exports.degsToRads = deg => (deg * Math.PI) / 180.0;
25+
export function degsToRads(deg) {
26+
return (deg * Math.PI) / 180.0;
27+
}
2428

2529
/**
2630
* Convert radians to degrees
2731
* @param {*} rad
2832
*/
29-
exports.radsToDegs = rad => rad * 180 / Math.PI;
33+
export function radsToDegs(rad) {
34+
return (rad * 180) / Math.PI;
35+
}
3036

3137
/**
3238
* Given a string and convert it to a number
3339
* @param {*} str
3440
* console.log(stringToNumber("25"));
3541
*/
36-
exports.stringToNumber = (str) => parseFloat(str);
42+
export function stringToNumber(str) {
43+
return parseFloat(str);
44+
}

lib/isMethod.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,39 +4,46 @@
44
* @param {*} dividend
55
* @param {*} divisor
66
*/
7-
exports.isDivisor = (dividend, divisor) => dividend % divisor == 0;
7+
export function isDivisor(dividend, divisor) {
8+
return dividend % divisor == 0;
9+
}
810

911
/**
1012
* Pass a number and return true or false
1113
* based on if the number is even
1214
* @param {*} number
1315
*/
14-
exports.isEven = (number) => number % 2 == 0;
16+
export function isEven(number) {
17+
return number % 2 == 0;
18+
}
1519

1620
/**
1721
* Pass a number and return true or false
1822
* based on if the number is odd
1923
* @param {*} number
2024
*/
21-
exports.isOdd = (number) => number % 2 != 0;
25+
export function isOdd(number) {
26+
return number % 2 != 0;
27+
}
2228

2329
/**
2430
* Pass a number and return true or false
2531
* if the number is prime or not
2632
* @param {*} num
2733
*/
28-
exports.isPrime = (num) => {
34+
export function isPrime(num) {
2935
for (let i = 2, s = Math.sqrt(num); i <= s; i++)
3036
if (num % i === 0) return false;
3137
return num > 1;
32-
};
38+
}
3339

3440
/**
3541
* Check palindrome number
3642
* @param {*} number
3743
* palindromeNumber(45674); // false
3844
* palindromeNumber(4567654); // true
3945
*/
46+
4047
exports.isPalindrome = (number) => {
4148
var final = 0, temp = number;
4249
while(number>0) { var rem = number % 10; number = parseInt(number / 10);

lib/number.js

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
/**
22
* Pass an (array or argument)
3-
* return greatest common divisor
3+
* return greatest common divisor
44
* @param {*} array
55
* gcd(4, 7); // 1
66
*/
7-
exports.gcd = (...array) => {
7+
export function gcd(...array) {
88
if (array[0][0] !== undefined) array = array[0];
99
let ans = array[0];
1010
for (let i = 1; i < array.length; i++) {
1111
ans = gcdCalculate(ans, array[i]);
1212
}
1313
return ans;
1414
}
15-
let gcdCalculate = (firstNumber, secondNumber) =>
16-
secondNumber === 0 ? firstNumber
17-
: gcdCalculate(secondNumber, firstNumber % secondNumber);
18-
15+
let gcdCalculate = (firstNumber, secondNumber) =>
16+
secondNumber === 0
17+
? firstNumber
18+
: gcdCalculate(secondNumber, firstNumber % secondNumber);
1919

2020
/**
2121
* Round a number to a given number of digits
@@ -24,9 +24,9 @@ let gcdCalculate = (firstNumber, secondNumber) =>
2424
* round(1.234567, 3); // 1.235
2525
* round(1.2345678, 5); // 1.23457
2626
*/
27-
exports.round = (number, decimals = 0) =>
28-
Number(`${Math.round(`${number}e${decimals}`)}e-${decimals}`);
29-
27+
export function round(number, decimals = 0) {
28+
return Number(`${Math.round(`${number}e${decimals}`)}e-${decimals}`);
29+
}
3030

3131
/**
3232
* Truncate a number to a given number of decimal places without rounding
@@ -35,16 +35,18 @@ exports.round = (number, decimals = 0) =>
3535
* toFixed(25.198726354, 2); // 25.19
3636
* toFixed(25.198726354, 5); // 25.19872
3737
*/
38-
exports.toFixed = (number, fixed) =>
39-
`${number}`.match(new RegExp(`^-?\\d+(?:\.\\d{0,${fixed}})?`))[0];
38+
export function toFixed(number, fixed) {
39+
return `${number}`.match(new RegExp(`^-?\\d+(?:\.\\d{0,${fixed}})?`))[0];
40+
}
4041

4142
/**
4243
* Pass a number and calculate the factorial of the number
4344
* @param {*} number
4445
*/
45-
exports.getFactorial = (number) => {
46-
return factorialCalculate(number);
46+
export function getFactorial(number) {
47+
return number != 1 ? number * getFactorial(number - 1) : 1;
4748
}
49+
4850
let factorialCalculate = (number) => {
4951
return number > 1 ? number * factorialCalculate(number - 1) : 1;
5052
};
@@ -136,4 +138,4 @@ exports.getPrimeList = (number) => {
136138
}
137139
}
138140
return primes;
139-
}
141+
}

0 commit comments

Comments
 (0)