how to read a string reverse in js code example

Example 1: reverse string javascript

// hey buddy, here are different implementations, choose your favourite !!


// best implementation
const reverse = (str) => str.split("").reverse().join("");


// explanation
function reverse1(str) {
  // turn string to array, each char of the string will be part of the
  // array as an individual element
  const arr = str.split("");

  // swap all the indexes of the array
  arr.reverse();

  // join every element back together
  const res = arr.join("");
  return res;
}


//  without using REVERSE method
//  recursive function
function reverse2(str) {
  let res = "";
  for (let i = 0; i < str.length; i++) res = str[i] + res;
  return res;
}


// using REDUCE ( high order array function )
function reverse3(str) {
  return str.split("").reduce((output, char) => {
  return char + output;
  }, "");
}

Example 2: javascript reverse string

function reverseString(str) {
    // Step 1. Create an empty string that will host the new created string
    var newString = "";
 
    // Step 2. Create the FOR loop
    /* The starting point of the loop will be (str.length - 1) which corresponds to the 
       last character of the string, "o"
       As long as i is greater than or equals 0, the loop will go on
       We decrement i after each iteration */
    for (var i = str.length - 1; i >= 0; i--) { 
        newString += str[i]; // or newString = newString + str[i];
    }
    /* Here hello's length equals 5
        For each iteration: i = str.length - 1 and newString = newString + str[i]
        First iteration:    i = 5 - 1 = 4,         newString = "" + "o" = "o"
        Second iteration:   i = 4 - 1 = 3,         newString = "o" + "l" = "ol"
        Third iteration:    i = 3 - 1 = 2,         newString = "ol" + "l" = "oll"
        Fourth iteration:   i = 2 - 1 = 1,         newString = "oll" + "e" = "olle"
        Fifth iteration:    i = 1 - 1 = 0,         newString = "olle" + "h" = "olleh"
    End of the FOR Loop*/
 
    // Step 3. Return the reversed string
    return newString; // "olleh"
}
 
reverseString('hello');