The stupid question is the question not asked PerlMonks

### Re: Five Ways to Reverse a String of Words (C#, Perl 5, Perl6, Ruby, Haskell)

by stvn (Monsignor)
 on Dec 12, 2006 at 15:27 UTC ( #589295=note: print w/ replies, xml ) Need Help??

Because I really have come to hate for loops, here is one in Javascript which uses a fixed point combinator to do the looping and filtering of the list.

```function (orig, i, acc) {
if (i > orig.length) return acc;
if (orig[i] != "") acc[acc.length] = orig[i];
return arguments.callee(orig, (i + 1), acc);
}("  one   two three four    ".split(" ").reverse(), 0, []).join(" ")

-stvn

Comment on Re: Five Ways to Reverse a String of Words (C#, Perl 5, Perl6, Ruby, Haskell)
Re^2: Five Ways to Reverse a String of Words (C#, Perl 5, Perl6, Ruby, Haskell)
by jdporter (Canon) on Dec 12, 2006 at 15:50 UTC

Huh?

```"  one   two three four    ".split(/ /).reverse().join(" ")
We're building the house of the future together.

Actually that doesn't work correctly in FF or Safari on OS X. It still has several empty strings filling up the array. They become more evident if you do this:

```"  one   two three four    ".split(/ /).reverse().join("|")
which gives you "||||four|three|two|||one||".

-stvn

Interesting... It works fine in EcmaScript. Or at least Jscript. :-)

```"  one   two three four    ".split(/ +/).reverse().join(" ")
We're building the house of the future together.

Create A New User
Node Status?
node history
Node Type: note [id://589295]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (16)
As of 2013-12-05 15:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?