Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Why does my for loop return 'undefined' as the last element of a string

I was trying to reverse a string using a for loop. The approach I took was to iterate backwards through the entire string, get each separate character of a string in a descending order and then concatenate the reversed characters together in a new, reversed string.
However, I encountered a small issue – the string did reverse, but ‘undefined’ was concatenated at the start.

What am I doing wrong and why this is hapenning? Many thanks for help in advance.

Please, see the code snippet and console for details.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

const string = "A quick brown fox jumped over the lazy dog.";
let newStr = "";

for (let i = string.length; i >= 0; i--) {
  let char = string[i];
  newStr += char;
}

console.log(newStr);

>Solution :

Because array starts from 0 and latest element is accessible by length-1 so the array[length] is equal to writing array[999999]

const string = "A quick brown fox jumped over the lazy dog.";
let newStr = "";

for (let i = string.length-1; i >= 0; i--) {
  let char = string[i];
  newStr += char;
}

console.log(newStr);
//alternative way
console.log(string.split('').reverse().join(''));
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading