如何以特定方式反转字符串

时间:2015-11-08 19:39:14

标签: javascript

这是一个非常具体的问题,我想以这种方式反转一个字符串,但我不知道如何去做。

我想做的就是说一句话让我们说'你好'。 2009东海生日贺

并取出第一个和最后一个字母并输出'oellh'然后为接下来的两个字符做同样的事情,这样'e'和'l'然后输出'olleh'。

总而言之,我需要反转第一个和最后一个字符,然后对第二个字符进行相同的操作,直到我到达中间字符。

这必须使用for循环。

        reverse('hello');

    function reverse(string) {

        var character = [];

        for (var i = string.length -1; i >= 0; i--) {
            character.push(string[i]);
        }

        console.log(character.join(""));

    }

如果需要进一步解释,请告诉我

2 个答案:

答案 0 :(得分:1)

这可能会起到作用:

function replaceAt(string, index, character){
    return string.substr(0, index) + character + string.substr(index+character.length);
}

function reverse(string) {
    var len = string.length;
    len = len/2;
    var s = string;

    for (var i = 0; i < len ; i++)
    {
        var m = s[string.length-i-1];
        var k = s[i];
        s = replaceAt(s,i, m);
        s = replaceAt(s, string.length-i-1, k);       
    }
       return s;

}

答案 1 :(得分:0)

您可以轻松地将字符串转换为:

"hello".split("").reverse().join("")