先將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
#以上是翻轉單字順序的簡單方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!