1
+ function reverseWords ( str ) {
2
+ // a place to store the reversed words
3
+ let reversedStr = '' ;
4
+ // a place to store an individually reversed word
5
+ let reversedWord = '' ;
6
+ // iterate over the string from index 0 to the end
7
+ for ( let i = 0 ; i < str . length ; i ++ ) {
8
+ const character = str [ i ] ;
9
+ // if the current character is not a space
10
+ if ( character !== ' ' ) {
11
+ // prepend letter to individually reversed word
12
+ reversedWord = character + reversedWord ;
13
+ } else {
14
+ // append individually reversed word to the whole reversed words
15
+ reversedStr += reversedWord + ' ' ;
16
+ reversedWord = '' ;
17
+ // append the space character
18
+ }
19
+ }
20
+ // return the reversed words
21
+ return reversedStr + reversedWord ;
22
+ }
23
+
24
+ function reverseWords ( str ) {
25
+ let reversedStr = '' ;
26
+ let reversedWord = '' ;
27
+ for ( let i = 0 ; i < str . length ; i ++ ) {
28
+ const character = str [ i ] ;
29
+ if ( character !== ' ' ) {
30
+ reversedWord = character + reversedWord ;
31
+ } else {
32
+ reversedStr += reversedWord + ' ' ;
33
+ reversedWord = '' ;
34
+ }
35
+ }
36
+ return reversedStr + reversedWord ;
37
+ }
38
+
39
+ function reverseWord ( word ) {
40
+ return word . split ( '' ) . reverse ( ) . join ( '' ) ;
41
+ }
42
+
43
+ function reverseWord ( word ) {
44
+ return [ ...word ] . reverse ( ) . join ( '' ) ;
45
+ }
46
+
47
+ function reverseWords ( str ) {
48
+ return str . split ( ' ' ) . map ( reverseWord ) . join ( ' ' ) ;
49
+ }
50
+
51
+ function reverseWords ( str ) {
52
+ return str . split ( ' ' ) . map ( word => [ ...word ] . reverse ( ) . join ( '' ) ) . join ( ' ' ) ;
53
+ }
54
+
55
+ function reverseWords ( str ) {
56
+ let reversedStr = '' ;
57
+ let reversedWord = '' ;
58
+ Array . prototype . forEach . call ( str , ( character ) => {
59
+ if ( character !== ' ' ) {
60
+ reversedWord = character + reversedWord ;
61
+ } else {
62
+ reversedStr += reversedWord + ' ' ;
63
+ reversedWord = '' ;
64
+ }
65
+ } ) ;
66
+ return reversedStr + reversedWord ;
67
+ }
68
+
69
+ function reverseWords ( str ) {
70
+ let reversedWord = '' ;
71
+ return Array . prototype . reduce . call ( str , ( reversedStr , character ) => {
72
+ if ( character !== ' ' ) {
73
+ reversedWord = character + reversedWord ;
74
+ } else {
75
+ reversedStr += reversedWord + ' ' ;
76
+ reversedWord = '' ;
77
+ }
78
+ return reversedStr ;
79
+ } , '' ) + reversedWord ;
80
+ }
81
+
82
+ function reverseWords ( str , reversedWord = '' ) {
83
+ return Array . prototype . reduce . call ( str , ( reversedStr , character ) => ( character !== ' ' ? reversedWord = character + reversedWord : ( reversedStr += reversedWord + ' ' , reversedWord = '' ) , reversedStr ) , '' ) + reversedWord ;
84
+ }
85
+
86
+ function reverseWords ( str , reversedWord = '' ) {
87
+ return [ ] . reduce . call ( str , ( reversedStr , character ) => ( character !== ' ' ? reversedWord = character + reversedWord : ( reversedStr += reversedWord + ' ' , reversedWord = '' ) , reversedStr ) , '' ) + reversedWord ;
88
+ }
89
+
90
+ // ALCA!!!
91
+ const reverseWord = s => s . split ( '' ) . reduce ( ( p , n ) => ( n === ' ' ? ( p [ 0 ] += p [ 1 ] + n , p [ 1 ] = '' ) : p [ 1 ] = n + p [ 1 ] , p ) , [ '' , '' ] ) . join ( '' ) ;
92
+
93
+ console . log ( reverseWords ( 'The quick brown fox jumps over the lazy dog.' ) == 'ehT kciuq nworb xof spmuj revo eht yzal .god' ) ;
94
+ console . log ( reverseWords ( 'apple' ) == 'elppa' ) ;
95
+ console . log ( reverseWords ( 'a b c d' ) == 'a b c d' ) ;
96
+ console . log ( reverseWords ( 'double spaced words' ) == 'elbuod decaps sdrow' ) ;
0 commit comments