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

Javascript 如何以特定方式反转字符串,javascript,Javascript,这是一个非常具体的问题,我想以这种方式反转字符串,但我不知道如何进行 我想做的是说一句话,让我们说“你好”。奥利 取第一个和最后一个字母,输出“oellh”,然后对后面的两个字符做同样的操作,即“e”和“l”,然后输出“olleh” 所以为了总结这一点,我需要反转第一个和最后一个字符,然后对第二个字符进行同样的操作,直到到达中间的字符 这必须使用for循环 reverse('hello'); function reverse(string) { var

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

我想做的是说一句话,让我们说“你好”。奥利

取第一个和最后一个字母,输出“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(""));

    }

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

您可以通过以下操作轻松反转字符串:

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

这可能会起作用:

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;

}
函数替换(字符串、索引、字符){
返回string.substr(0,索引)+字符+字符串.substr(索引+字符.length);
}
函数反转(字符串){
var len=string.length;
len=len/2;
var s=字符串;
对于(变量i=0;i
抱歉,我忘了添加。您的代码正在运行。有什么问题吗?我能问一下为什么这项投票被否决了吗?那么你应该展示你这样做的尝试。所以这不是一个要求完成代码的地方,但是为了帮助您的实现,这是不起作用的。一种方法是让
for
0
循环到字符串的一半长度,然后将索引
i
与索引
length-1-i
交换。不是我要求的那样,您永远不应该扩展核心对象的原型-除了polyfills-,因为如果标准中引入了一个具有不同签名的
replaceAt
函数,这样的代码可能会破坏未来的代码。这很好,但应该有一种方法可以用一个变量来实现。我认为你不能用一个变量来实现这一点。必须使用临时变量才能反转它们。