@@ -11,46 +11,24 @@ function calculateMedian(list) {
1111 return null ;
1212 }
1313
14- < << << << HEAD
15- // Keep only real numeric values
16- const numbersOnly = list . filter (
17- ( item ) => typeof item === "number" && ! Number . isNaN ( item )
18- ) ;
19-
20- // Return null if the array contains no numbers
21- = === ===
2214 // filter() returns a new array, so this does not modify the original input
2315 const numbersOnly = list . filter ( ( item ) => Number . isFinite ( item ) ) ;
2416
2517 // Return null if there are no numeric values
26- > >>> >>> a22ed15 ( Address mentor feedback for sprint 1 data groups )
2718 if ( numbersOnly . length === 0 ) {
2819 return null ;
2920 }
3021
31- < << << << HEAD
32- // Create a sorted copy so the original input is not changed
33- const sortedNumbers = [ ...numbersOnly ] . sort ( ( a , b ) => a - b ) ;
34-
35- const middleIndex = Math . floor ( sortedNumbers . length / 2 ) ;
36-
37- // For an even-length array, median is the average of the two middle values
38- = === ===
3922 // Safe to sort directly because numbersOnly is already a new array
4023 const sortedNumbers = numbersOnly . sort ( ( a , b ) => a - b ) ;
4124 const middleIndex = Math . floor ( sortedNumbers . length / 2 ) ;
4225
4326 // Even number of values: return the average of the two middle values
44- > >>> >>> a22ed15 ( Address mentor feedback for sprint 1 data groups )
4527 if ( sortedNumbers . length % 2 === 0 ) {
4628 return ( sortedNumbers [ middleIndex - 1 ] + sortedNumbers [ middleIndex ] ) / 2 ;
4729 }
4830
49- < << << << HEAD
50- // For an odd-length array, median is the middle value
51- = === ===
5231 // Odd number of values: return the middle value
53- >>> >>> > a22ed15 (Address mentor feedback for sprint 1 data groups)
5432 return sortedNumbers [ middleIndex ] ;
5533}
5634
0 commit comments