repl.it
@cmclau01/

reverse a string

JavaScript

No description

fork
loading
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
// Reverse a String

// Fullstack Academy - JavaScript JumpStart


// - Description

// Create the function "reverseString" that reverses a string and returns the value of the reversed string. NOTE: Do NOT use the .reverse() method.

// INPUT: reverseString("hello");
// OUTPUT: "olleh";

//*** Write the reverseString Function below ***
/* Original code below:
function reverseString(str) {
  debugger;
  let reversedString = '';
  for (i = str.length - 1; i < str.length; i--) {
    reversedString += str[i];
  }
  return reversedString;
}
reverseString('hello'); */
//Code solution below, so close!
function reverseString(str) {
  debugger;
  let reversedString = '';
  for (i = str.length - 1; i >= 0; i--) {  
    reversedString += str[i];
  }
  return reversedString;
}
reverseString('hello');

/* I had the right idea with everything except the condition! Initializing the index at str.length - 1 means that it will begin at the last index value of the string. The condition i >= 0 is required in order to decrement through the index values. Using i < str.length (which I originally did) does reverse the string, but returns undefined at the last iteration because it doesn't have an explicit stopping point (e.g. >= 0). To boil it down, always check the condition for a stopping point, and always use >/>= when decrementing to avoid an infinite loop or undefined return value! */



 

















































































/* Test Case */

console.log(reverseString("hello"));
// logs ==> 'olleh';
Native Browser JavaScript
?