当一个字符串被传递给一个带有返回语句的函数时,你如何在JavaScript中反转它,而不使用内置函数(.reverse(), . charat()等)?


当前回答

添加到String原型是理想的(只是以防它被添加到核心JS语言中),但你首先需要检查它是否存在,如果不存在就添加它,如下所示:

String.prototype.reverse = String.prototype.reverse || function () {
    return this.split('').reverse().join('');
};

其他回答

var str = "IAMA JavaScript Developer";
var a=str.split(''), b = a.length;
for (var i=0; i<b; i++) {
    a.unshift(a.splice(1+i,1).shift())
}
a.shift();
alert(a.join(''));

如果你不想使用任何内置功能。试试这个

var string = 'abcdefg';
var newstring = '';

for(let i = 0; i < string.length; i++){
    newstring = string[i] += newstring;
}

console.log(newstring);

在JavaScript中有许多方法可以反转字符串。我正在记下我喜欢的三种方法。

方法一:使用反向函数:

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

方法2:循环字符:

function reverse(str) {
  let reversed = '';

  for (let character of str) {
    reversed = character + reversed;
  }

  return reversed;
}

方法3:使用reduce函数:

function reverse(str) {
  return str.split('').reduce((rev, char) => char + rev, '');
}

我希望这对你有所帮助:)

使用内置函数反转字符串

函数reverse(str) { //使用split()方法返回一个新数组 //使用reverse()方法反转新创建的数组 //使用join()方法将数组中的所有元素连接成一个字符串 返回str.split (" ") .reverse () . join (" "); } console.log(反向('你好'));


反转一个没有helper的字符串

函数reversedOf(str) { let newStr = "; For (let char of str) { newStr = char + newStr / /轮1:“h”+“= h,第二轮:“e”+“h”=“嗯”…等。 / / console.log (newStr); } 返回newStr; } console.log (reversedOf('你好'));

我想,这对你有用

function reverse(str){
    str = str.split("").reverse().join("").split(" ").reverse().join(" ");
    console.log(str)
}