We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 96d077b commit 53fa90fCopy full SHA for 53fa90f
Sprint-1/fix/median.js
@@ -6,9 +6,21 @@
6
// or 'list' has mixed values (the function is expected to sort only numbers).
7
8
function calculateMedian(list) {
9
- const middleIndex = Math.floor(list.length / 2);
10
- const median = list.splice(middleIndex, 1)[0];
11
- return median;
+ // Filter out non-numeric values and sort the remaining numbers
+ const numbers = list
+ .filter((x) => typeof x === "number" && !isNaN(x))
12
+ .sort((a, b) => a - b);
13
+
14
+ if (numbers.length === 0) {
15
+ return null;
16
+ }
17
18
+ const mid = Math.floor(numbers.length / 2);
19
+ if (numbers.length % 2 === 0) {
20
+ return (numbers[mid - 1] + numbers[mid]) / 2;
21
+ } else {
22
+ return numbers[mid];
23
24
}
25
26
module.exports = calculateMedian;
0 commit comments