在Javascript中反转一个句子并以相反的顺序打印每个单词

时间:2015-12-04 08:14:10

标签: javascript

我正在制作一个JavaScript程序,如果用户输入了诸如

之类的刺痛
"i love my country"

输出将产生:

country
my
love
i

我尝试过使用split功能但没有获得所需的输出。

<script language="javascript">
    var n, x, i, j;
    rev = "";
    n = window.prompt("enter any string");
    x = n.split(" ");
    for (i = 0; i < x.length; i++) {
        for (j = x[i].length() - 1; j >= 0; j--) {
            document.writeln(x[i].charAt(j));
            document.write(rev);
        }
    }
</script>

4 个答案:

答案 0 :(得分:1)

尝试使用Array.prototype.reverse()Array.prototype.join()

&#13;
&#13;
var str = "I LOVE MY COUNTRY";
console.log(str.split(/\s/).reverse().join(" "));
&#13;
&#13;
&#13;

()移除j = x[i].length(); .length不是一个功能;在内document.write("<br>")循环下方添加for,以便在<br>的每次迭代后在输出中包含i标记,以便在html中的prompt后面输入换行符prompt() 1}}。例如,尝试输入&#34;我爱我的国家&#34; at var n, x, i, j; rev = ""; n = window.prompt("enter any string"); x = n.split(" "); for (i = 0; i < x.length; i++) { for (j = x[i].length - 1; j >= 0; j--) { document.writeln(x[i].charAt(j)); } document.write("<br>") } at stacksnippets

&#13;
&#13;
{{1}}
&#13;
&#13;
&#13;

答案 1 :(得分:1)

var str  = "SAMPLE STRING";

var arr = str.split(" ");

arr.reverse();

str = arr.join(" ");

答案 2 :(得分:0)

试试这段代码

var str = "SAMPLE STRING";
alert( str.split( "\\s+" ).reverse.join ( " " ) );
alert( str.split( " " ).reverse.join ( " " ) );

因为您想要以新的一行打印

var str = "SAMPLE STRING";
alert( str.split( " " ).reverse.join ( "\n" ) );

答案 3 :(得分:0)

a = "SAMPLE STRING"
a.split(" ").reverse().forEach(function(element) {
    document.writeln(element);
    document.write('<br />')  
}) 

输出:

STRING 
SAMPLE

JSFiddle