简体   繁体   English

Javascript 阵列反向 function 不起作用

[英]Javascript array reverse function doesn't work

I have a question with my homework我的作业有问题

var NumberOfString = new Array(5);
NumberOfString = prompt("정수 5개를 입력하세요: ");
document.write("입력된 수의 배열" + "<br/>" + NumberOfString + "<hr>");
document.write("역순으로 재정렬된 배열" + "<br>");
document.write(NumberOfString.reverse());

This is my code.这是我的代码。 The function array.reverse doesn't work. function array.reverse不起作用。 I want to know why?我想知道为什么? Thanks!谢谢!

You can reverse string with NumberOfString.split('').reverse().join('') .您可以使用NumberOfString.split('').reverse().join('')反转string

Note笔记

When you write NumberOfString = prompt("정수 5개를 입력하세요: ");当你写NumberOfString = prompt("정수 5개를 입력하세요: "); it will convert your NumberOfString array to string as prompt returns the string .它会将您的NumberOfString array转换为string ,因为prompt返回string

String do not have reverse method. String没有reverse方法。 But you can use split('') to convert it to array then perform reverse and join it to get reverse string.但是您可以使用split('')将其转换为array ,然后执行reversejoin它以获得反向字符串。

 var NumberOfString = new Array(5); NumberOfString = prompt("정수 5개를 입력하세요: "); document.write("입력된 수의 배열" + "<br/>" + NumberOfString + "<hr>"); document.write("역순으로 재정렬된 배열" + "<br>"); document.write(NumberOfString.split('').reverse().join(''));

because the type of NumberOfString is string.因为 NumberOfString 的类型是字符串。 You can try this:你可以试试这个:

var NumberOfString = new Array(5);
var anySymbol = ''; 
NumberOfString = prompt("정수 5개를 입력하세요: ");
document.write("입력된 수의 배열" + "<br/>" + NumberOfString + "<hr>");
document.write("역순으로 재정렬된 배열" + "<br>");
document.write(NumberOfString.split(anySymbol).reverse());

The problem is at the last line.问题在最后一行。

reverse() method works with arrays reverse() 方法适用于 arrays

so you have to convert your string to an array by split() method.所以你必须通过 split() 方法将你的字符串转换为数组。

and then set it back to a string by using join() method然后使用 join() 方法将其设置回字符串

 var NumberOfString = new Array(5); NumberOfString = prompt("정수 5개를 입력하세요: "); document.write("입력된 수의 배열" + "<br/>" + NumberOfString + "<hr>"); document.write("역순으로 재정렬된 배열" + "<br>"); // here you have to convert the string to an array by split('') // then use reverse method therfore set it back to a string by join('') document.write(NumberOfString.split('').reverse().join(''));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM