Skip to content

Commit feefe88

Browse files
author
qingwen23
committed
Added AverageMedian function
1 parent 2d0da4d commit feefe88

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

Maths/AverageMedian.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
* function averageMedian
3+
* to find the median value of an array of numbers
4+
* the numbers in an array will be sorted in ascending order by the function sortNumbers
5+
* if the length of the array is even number, the median value will be the average of the two middle numbers
6+
* else if the length of the array is odd number, the median value will be the middle number in the array
7+
*/
8+
9+
/*
10+
* Doctests
11+
*
12+
* > averageMedian([8, 9, 1, 2, 5, 10, 11])
13+
* 8
14+
* > averageMedian([15, 18, 3, 9, 13, 5])
15+
* 11
16+
* > averageMedian([1,2,3,4,6,8])
17+
* 3.5
18+
*/
19+
20+
function averageMedian(numbers) {
21+
let median = 0; const numLength = numbers.length
22+
numbers = numbers.sort(sortNumbers)
23+
24+
if (numLength % 2 === 0) {
25+
median = (numbers[numLength / 2 - 1] + numbers[numLength / 2]) / 2
26+
} else {
27+
median = numbers[(numLength - 1) / 2]
28+
}
29+
30+
return median
31+
}
32+
33+
function sortNumbers(num1, num2) {
34+
return num1 - num2
35+
}
36+
37+
console.log(averageMedian([8, 9, 1, 2, 5, 10, 11]))
38+
console.log(averageMedian([15, 18, 3, 9, 13, 5]))
39+
console.log(averageMedian([1,2,3,4,6,8]))

0 commit comments

Comments
 (0)