Reverse words in a string javascript without using built function

Without using the split reverse and join functions, how would one do such a thing?

The Problem Given: Reverse the words in a string Sample Input: "Hello World" Sample Output: "World Hello"


  var newString = ""; 
  var theString = prompt["Enter a Phrase that you would like to reverse [Ex. Hello world]"]; 

  newString = theString.split[" "].reverse[].join[" "]


  document.write[newString];

asked Nov 23, 2015 at 17:43

lazerrougelazerrouge

892 silver badges8 bronze badges

4

Arrays can be used like stacks out of the box. And stacks are LIFO, which is what you need.

function reverseWords[str] {
    var word, words, reverse;

    words = str.match[/[?:\w+]/g];
    reverse = '';
    while[word = words.pop[]] {
      reverse += word + ' ';
    }

    return reverse.trim[];
}

reverseWords['hello world'];

Or use the call stack as your stack:

function reverseWords[str] {
  var result = '';
  [function readWord[i = 0] {
    var word = '';
    if[i > str.length] {
        return '';
    }    
    while[str[i] !== ' ' && i < str.length] {
      word += str[i];
      i++;
    }    
    readWord[++i]; // Skip over delimiter.
    result += word + ' ';    
  }[]];
  return result.trim[];
}

reverseWords['hello world'];

answered Nov 23, 2015 at 18:56

Ben AstonBen Aston

50.5k61 gold badges194 silver badges324 bronze badges

Another idea for reversing the words in a String is using a Stack data structure. Like so:

var newString = "";
var theString = prompt["Enter a Phrase that you would like to reverse [Ex. Hello world]"];

var word = "";
var c;
var stack = [];
for [var i = 0, len = theString.length; i < len; i++] {
  c = theString[i];
  word += c;

  if [c == " " || i == [len-1]] {
      word = word.trim[];
      stack.push[word];
      word = "";
  }  
}

while [s = stack.pop[]] {    
    newString += s + " ";
}

console.log[newString];

answered Nov 23, 2015 at 18:31

Lucas PotterskyLucas Pottersky

1,7145 gold badges21 silver badges37 bronze badges

You could also go fancy and try something like this:

I couldn't come up with a shorter solution.

  var newString = "";
  var theString = prompt["Enter a Phrase that you would like to reverse [Ex. Hello world]"];

  theString.replace[/[^\s]*/g, function [value] {
      newString = value + ' ' + newString;
  }];

  document.write[newString];

answered Nov 23, 2015 at 18:27

Of the millions of different solutions, the least amount of typing I could come up with involves using lastIndexOf and substring.

var str = "The quick brown fox",
    reversed = "",
    idx;

while[true] {
    idx = str.lastIndexOf[" "]
    reversed = reversed + str.substring[idx].trim[] + " "
    if [idx < 0] break;
    str = str.substring[0, idx]
}
reversed.trim[]  # Oh, yes, trim too

Output:

"fox  brown  quick The"

answered Nov 23, 2015 at 18:26

klironkliron

4,1854 gold badges29 silver badges47 bronze badges

The simplest way to do in javascript. Here replace[] have /,/g it will replace all comma from the string to space.

    var msg = 'Hello world I am Programmer';
    var newstr = msg.split[" "].reverse[].join[].replace[/,/g, ' '];
    console.log[newstr]

;

answered Apr 24, 2019 at 5:43

How can I reverse a string without inbuilt function?

Reverse A String In C# With And Without An Inbuilt Function.
static void Main[string[] args].
ReverseStringWithInbuiltMethod["CSharpCorner"];.
private static void ReverseStringWithInbuiltMethod[string stringInput].
// With Inbuilt Method Array.Reverse Method..
char[] charArray = stringInput.ToCharArray[];.

How do you reverse words in a given sentence without using any in built method in JavaScript?

Without comments: function reverseString[str] { if [str === ""] return ""; else return reverseString[str.substr[1]] + str.charAt[0]; } reverseString["hello"];

How do you reverse words in a string sentence in JavaScript?

Reverse every word in a string.
let reverseWordArr = str.split[" "].
. map[word => word. split[""]. reverse[]. join[""]];.
let reverseWordArr = str. split[" "]. map[word => word. split[""]. reverse[]. join[""]];.
return reverseWordArr.join[" "];.

How do I reverse words in a string?

Reverse words in a given string..
Remove spaces from a given string..
Move spaces to front of string in single traversal..
Remove extra spaces from a string..
URLify a given string [Replace spaces with %20].
Print all possible strings that can be made by placing spaces..
Put spaces between words starting with capital letters..

Chủ Đề