javascript反向字符串算法

问题描述 投票:-4回答:3

我想要解决如何扭转字符串。我已经想出了如何反转一个数组,所以我试图在这个中使用那个答案。我想我可以将字符串转换为数组然后从那里开始......这就是我到目前为止所提供的建议或建议。

function reverse(string){
    var x = string.split(' ');
    for(i=0; i=x.length; i++){
        var y= x.pop();
        console.log(y);
    }
}
javascript reverse
3个回答
2
投票

看小提琴:https://jsfiddle.net/1wknqn2d/1/

function reverse(string){
    return string.split('').reverse().join('');
}

0
投票

试试这个

function reverse(string){
var y =[];
var x = string.split('');
for(i=x.length-1; i>=0; i--){
    y.push(x[i]);
}
console.log(y.join(''));
}

或者干脆

string.split('').reverse().join('');

0
投票

除了Ash给你的直截了当的答案,如果没有为你提供reverse()方法或者你不允许使用它,你可以尝试替代方案。

  1. 您可以创建一个名为reversed的空字符串。
  2. 要遍历所提供的string以及character中的每个string,你将把character带到reversed的开头。
  3. 然后你将返回变量reversed

因此,您将每个character从原始字符串中取出并逐个粘贴到新字符串中。

function reverse(string) {
  let reversed = '';
}

所以我已经声明了一个名为reversed的临时变量并为其分配了一个空字符串。当我迭代string变量时,这是我随着时间的推移组装的临时变量。

现在我需要一个for循环,但我将使用ES2015 for循环而不是经典的for...of循环。

function reverse(string) {
  let reversed = '';
  for (let character of string) {

  }
}

注意使用let变量标识符?因为我要像这样重新分配reversed

function reverse(string) {
  let reversed = '';
  for (let character of string) {
    reversed = character + reversed;
  }
}

最后,如第3步所述,我返回reversed的新任务。

function reverse(string) {
  let reversed = '';
  for (let character of string) {
    reversed = character + reversed;
  }
  return reversed;
}

所以我正在采取一个临时变量,通过character循环每次重新声明。然后我说of和我想迭代的可迭代对象,在这种情况下,string的所有字符。

因此,我将逐个遍历每个character,然后将每个character设置为等于character的临时变量,然后我将character添加到string reversed的开头,并在整个循环之后我return string reversed

您可以使用它来代替经典for循环,请记住,如果您需要遍历每个第三个元素,您将无法使用此语法。在这种情况下,您必须使用经典的for循环。

© www.soinside.com 2019 - 2024. All rights reserved.