Javascript 如何以特定方式反转字符串
这是一个非常具体的问题,我想以这种方式反转字符串,但我不知道如何进行 我想做的是说一句话,让我们说“你好”。奥利 取第一个和最后一个字母,输出“oellh”,然后对后面的两个字符做同样的操作,即“e”和“l”,然后输出“olleh” 所以为了总结这一点,我需要反转第一个和最后一个字符,然后对第二个字符进行同样的操作,直到到达中间的字符 这必须使用for循环Javascript 如何以特定方式反转字符串,javascript,Javascript,这是一个非常具体的问题,我想以这种方式反转字符串,但我不知道如何进行 我想做的是说一句话,让我们说“你好”。奥利 取第一个和最后一个字母,输出“oellh”,然后对后面的两个字符做同样的操作,即“e”和“l”,然后输出“olleh” 所以为了总结这一点,我需要反转第一个和最后一个字符,然后对第二个字符进行同样的操作,直到到达中间的字符 这必须使用for循环 reverse('hello'); function reverse(string) { var
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
函数,这样的代码可能会破坏未来的代码。这很好,但应该有一种方法可以用一个变量来实现。我认为你不能用一个变量来实现这一点。必须使用临时变量才能反转它们。