JavaScriptは文字列の逆置を実現するいくつかの方法です.

6782 ワード

JavaScriptは文字列の逆置を実現するいくつかの方法です.
1.一般的にjsは文字列逆置出力を実現する一般的な考え方は:
1、文字列を行列に変換し、1文字を配列の要素とします.2、配列を逆さまにする;3、配列要素を文字列につづり合わせる.
2.一般的に使う方法は、
join():配列中のすべての要素を一つの文字列に入れる方法です.要素は指定された区切り記号で区切られます.スプリット():1つの文字列をサブ文字列配列に分割し、結果を文字列配列として返します.reverse():要素の順序が反転されたArayオブジェクトを返します.charAt():指定された位置の文字を返します.
3.以下はいくつかのjsを利用して文字列の逆出力を実現します.
/*   :  Array   reverse()  ,            。*/
var  str1 = "abcdefg";
var result1 = str1.split("").reverse().join("");
console.log(result1); //gfedcba


/*   :*/
var  str2 = "abcdefg";
for(var i = str2.length - 1; i >= 0; i--){
    console.log(str2.charAt(i));
    //  :    abcdefg,           
}


/*   :           */
function Reverse(str) {
    var len = str.length;
    var result = "";
    if(len == 0){
        return null;
    }
    while( --len >= 0 ){
        result += str.charAt(len);
    }
    return result; //gfedcba
}
var  str3 = "abcdefg";
var result3 = Reverse(str3);
console.log(result3); 


/*   :  call():           ,            。*/
var  str4 = "abcdefg";
var result4 = Array.prototype.slice.call(str4).reverse().join("");
console.log(result4); //gfedcba


/*   :      */
function Sort(a,b) {
    return b.localeCompare(a); //    
    //return a.localeCompare(b); //    
}
var  str5 = "abcdefg";
var result5 = str5.split("").sort(Sort).join("");
console.log(result5); //gfedcba


/*   :             :      ,                */
function stack() {
    this.data = []; //      
    this.top = 0; //      
}
stack.prototype = {
    push: function push(element) { //  :        ,       1
        this.data[this.top++] = element;
    },
    pop: function pop() { //  :       ,       1
        return this.data[--this.top];
    },
    peek: function peek() { //      
        return this.data[this.top-1];
    },
    clear: function () { //      
        this.top = 0;
    },
    length: function () { //         ,   
        return this.top;
    }
}
function reverse(str) {      //              
    var s = new stack();      //        
    var arr = str.split(''); //        
    var len = arr.length;
    for(var i=0; i//       
        s.push(arr[i]);
    }
    for(var i=0; i//      
        console.log(s.pop());
    }
}
var str6 = "abcdefg";
reverse(str6);
4.スタックの追加理解
スタック実装:pop():セットの最後の要素を削除し、要素の値を返します.push():セットの最後に要素を追加します.
スタックの主な方法と属性:スタック.プッシュ方法倉庫から出す.ポップ方法スタックトップ要素にアクセスします.peek方法すべてのスタックの要素をクリアします.clear方法スタックトップ位置を記録します.トップ属性;スタック内に元素があるかどうかを判断する.lengthメソッド
PS:もしもっといい文字列逆順の実現方式があったら、メッセージをください.あるいは本人と連絡してください.