File tree Expand file tree Collapse file tree 2 files changed +24
-6
lines changed Expand file tree Collapse file tree 2 files changed +24
-6
lines changed Original file line number Diff line number Diff line change 44export function min ( ...numbers : number [ ] ) {
55 let smaller = Infinity ;
66
7- for ( const number of numbers ) {
8- if ( number < smaller ) {
9- smaller = number ;
7+ for ( const num of numbers ) {
8+ if ( num < smaller ) {
9+ smaller = num ;
1010 }
1111 }
1212
1313 return smaller ;
1414}
1515
1616export function minRecursive ( ...numbers : number [ ] ) {
17- const finder = ( current : number , competitor ?: number ) : number => {
17+ const finder = ( current : number , competitor ?: number ) => {
1818 if ( ! competitor ) {
1919 return current ;
20- } else if ( competitor < current ) {
20+ }
21+
22+ if ( competitor < current ) {
2123 current = competitor ;
2224 }
2325
Original file line number Diff line number Diff line change 1- export function average ( array : readonly number [ ] ) {
1+ export function averageReducer ( array : readonly number [ ] ) {
22 return array . reduce ( ( a , b ) => a + b ) / array . length ;
33}
44
5+ export function average ( numbers : readonly number [ ] ) {
6+ if ( numbers . length === 0 ) {
7+ throw new Error ( "Cannot compute the average of an empty array." ) ;
8+ }
9+
10+ const sum = ( res : number , idx : number ) => {
11+ if ( idx >= numbers . length ) {
12+ return res ;
13+ }
14+
15+ return sum ( res + numbers [ idx ] , idx + 1 ) ;
16+ } ;
17+
18+ return sum ( 0 , 0 ) / numbers . length ;
19+ }
20+
521export function averageIterative ( array : readonly number [ ] ) {
622 let count = 0 ;
723
You can’t perform that action at this time.
0 commit comments