刀刀网
您的当前位置:首页翻转单词顺序的简单方法

翻转单词顺序的简单方法

来源:刀刀网



将I am boy输出为boy am I

首先将I am boy转为yob ma I,str[0]与str[len-1]交换顺序,空间复杂度为O(1)。然后yob ma I中每个单词应用同样的方法翻转。

function reverse(str) {
 var strArr = str.split(""); 
 var len= Math.floor(str.length/2),strLen = str.length-1; 
 for(var i=0;i<len;i++){ 
 var temp = strArr[i];
 strArr[i] = strArr[strLen - i];
 strArr[strLen - i] = temp;
 } return strArr.join("");
}function reverseWord(str) {
 str = reverse(str); 
 var strArr = str.split(" "); 
 var newArr = strArr.map(function (item) {
 return reverse(item);
 }); return newArr.join(" ");
}


console.log(reverseWord("I am boy"));

(1)注意需将字符串转为字符数组,因为数组为引用类型,相互交换可以更改原始值,而字符串不行。比如:

var str = "boy";str[0].=str[2];
console.log(str);

(2)问题:引入了新数组newArr

显示全文