JavaScript: For loop
A while
loop works perfectly for situations where the number of iterations isn't known in advance, e.g., finding a prime number. When we know the number of iterations, it's better to use a for
loop.
Let's take a look at a function that reverses strings using a for
loop:
const reverseString = (str) => {
let result = '';
for (let i = 0; i < str.length; i += 1) {
result = `${str[i]}${result}`;
}
return result;
};
We could read it as follows: a loop with index i
repeats until i < str.length
and after each step increases i
by 1.
When defining the for
loop, we have three expressions in parentheses, separated by semicolons:
- The initial counter value. This code runs exactly once before the first iteration.
- A predicate - the condition for the loop to iterate. It's executed on each iteration. Exactly like what we have with
while
. - Description of the counter change. This code is executed at the end of each iteration.
Other than that, it works exactly the same as the while
loop.
Instructions
Samwell discovered that his messages were being intercepted at Castle Gemini and being read there. This made his attacks no longer a surprise. After some thought, he developed a program to encrypt the messages according to the following algorithm. It would take the text and rearrange it every two consecutive characters.
encrypt('move'); // 'omev'
encrypt('attack'); // 'taatkc'
// If the number of characters is odd
// the last character remains unchanged
encrypt('go!'); // 'og!'
Write a function, encrypt()
, which takes the original message and returns an encrypted one.
Think about it. Can this function decrypt an encrypted message?