Javascript 尝试使用数组而不是通过“反转”来反转字符串;经典;方法,但它不';I don’我没有按预期工作
我正试着倒转一个字符串。“编写JavaScript程序以反转给定字符串。” 这是我的密码:Javascript 尝试使用数组而不是通过“反转”来反转字符串;经典;方法,但它不';I don’我没有按预期工作,javascript,Javascript,我正试着倒转一个字符串。“编写JavaScript程序以反转给定字符串。” 这是我的密码: 函数反转(字符串){ 让我们看看第2条; for(设i=0;i=0){ string2.推(string[n]); n--; } console.log(string2.join(“”)); } 反向(“asdfgh”);您的实际错误是从未初始化string2的值,因此它是未定义的。在循环中,您试图访问string2[5],这会引发错误 你不需要多个循环,你可以用一个循环来完成,如果你想自己做的话,也就
函数反转(字符串){
让我们看看第2条;
for(设i=0;iOneliner:
function reverse(string) {
return string.split('').reverse().join('');
}
无论您试图以何种方式实现这一点,都可能导致您的时间复杂性更高。您只需要一个for循环就可以实现这一点
函数反转(字符串){
设string2=“”;
对于(设i=1;i
- 循环
不需要使用,使用while循环
初始化数组string2=[]
使用函数push()
添加字符
函数反转(字符串){
设string2=[];
设n=string.length-1;
而(n>=0){
string2.推(string[n]);
n--;
}
console.log(string2.join(“”));
}
反向(“asdfgh”);
您的实际错误是从未初始化string2的值,因此它是未定义的。在循环中,您试图访问string2[5],这会引发错误
你不需要多个循环,你可以用一个循环来完成,如果你想自己做的话,也就是说,用下面的方法
function reverse(val) {
var reversed = '';
for (var i = val.length - 1; i >= 0; i--) {
reversed += val[i];
}
return reversed;
}
试一试
下面是一个快速而肮脏(即不是最好的)的示例,它简单地以相反的顺序迭代原始字符串,将原始字符串的字符追加到新字符串中
function reverse(orig) {
var result = "";
for (var i = orig.length - 1; i >= 0; i--) {
result = result + orig[i];
}
return result;
}
// usage:
reverse("abcde"); // edcba
string2
从未初始化。此外,对于loop.string2,您不需要该,因此任何[index]访问将失败。@4castle,我知道你并不真的需要它,但我尝试过这样做。@AlexK。我知道,但我不知道如何将它定义为一个空变量。这并不能解释OP代码的问题。我知道。我尝试过这样做,但我不知道怎么做。甚至可以在一行中完成,使用split、reverse、join,但我尝试过这样做,因为,这就是我使用它的原因。非常感谢!@f0rta是的,你可以使用内置函数,但通过这种方式你可以了解更多关于JS的信息。不客气!我知道。只是尝试过这样做,但它不起作用,我必须找出原因。我知道string2没有初始化,但我不知道如何使用它将它初始化为一个空变量。非常感谢!非常感谢,我真的不知道如何将它定义为一个空数组,现在我知道了!我已经从其他答案中解决了它。无论如何,非常感谢!传统证明等效(
function reverse(orig) {
var result = "";
for (var i = orig.length - 1; i >= 0; i--) {
result = result + orig[i];
}
return result;
}
// usage:
reverse("abcde"); // edcba