字符串反转的意思即将字符串按从尾到头重新排序:也就是 12345=>54321 通过三种实现方法来学习一下JS
方法1:
function reverseString(str){
return str.split("").reverse().join("");
}
reverseString("123") // 返回321
1. str.split("") 是String.prototype.split.call(str) 将字符串拆分,返回一个数组对象;
2.reverse() 是Array.prototype.reverse() 作用是将数组倒序, 返回的倒序完的数组对象;
3.join("") 是将数组拼接成一个字符串并返回;join的参数为字符串 表示在每个值之间插入的字符, 如果传入的不是字符串格式则会将其转换为字符串,比如传入Number型1, 则会将其转换成"1" , 如果是普通对象则会转换成"[object Object]",如果是函数对象则会转换成函数的定义,传null 则会转换成 "null", undefined 则 会使 join的返回结果同 Array.prototype.toString()相同
方法2:
通过str的charAt
function reverseString(str){
var length = str.length;
var resultStr = "";
for(var i=length -1; i > -1; i--){
resultStr += str.charAt(i)
}
return resultStr;
}
str.charAt(index): String.prototype.charAt(index) 返回字符串指定位置的值; 0-str.length 时返回对应值,否则返回""; 当传入值不是number或者不能转换成number时默认返回第一个;
方法3:
function reverseString(str){
var resultArr = new Array();
var sourceArr = str.split("");
while(sourceArr.length){
resultArr.push(sourceArr.pop())
}
return resultArr.join("")
}
resultArr.push() Array.prototype.push 将元素放入数组的尾部, length + 1
resource.pop() Array.prototype.pop 返回数组的最后个元素,并将对应元素从数组中去掉