看到好多面试题里面都有这方面的题,今天自己写几个自己的思路。
1、利用数组reverse
基本思想是借用数组的reverse方法,首先就是将字符串转换为数组,然后通过原生js进行逆序,得到逆序数组后再用join实现拼接。
function reverseString(str){
return str.split('').reverse().join('');
};
2、利用JS的charAt,这是用来查找指定位置的字符的,相当于我们从字符串最后面利用循环往前一次查找,最后进行累加拼接,具体代码如下:
function reverseString(str){
var result="";
for(var i=str.lenght-1;i>=0;i--){
result+=str.charAt(i);
}
return result;
};
3、利用call方法,主要是利用call方法来改变slice方法的执行主体,将数组的slice方法调用call后让字符串有数组的特性,从而直接调用reveser。
function reverseString(str){
var arr=Array.prototype.slice.call(str);
return arr.reverse().join('');
}
小弟还没完全入行,这只是基本的三种方法,以后会逐渐增加的。