語順を反転する簡単な方法

一个新手
一个新手オリジナル
2017-10-11 10:01:241414ブラウズ


出力 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 が導入されました

以上が語順を反転する簡単な方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。