ジェイ、狂気の後ろの方法.


こんにちは、私の最初のポストにようこそ☄


これはすべて、このミームで始まった

友人がJSの今の恋人として私を呼んだ.正直に言うと、私は気が狂っていました(主に私が戻って来なかったので)私はそれを試してみることにしました.あなたが十分に熱心でないならば、JSはそれで逃げるかもしれません.その問題を示そう.
番号[ 6 , - 2 , 2 , - 7 ]の配列を与え、ソートメソッド.sort()を使ってRubyとJSでソートします.
JSで
    const array = [6,-2,2,-7];
    array.sort();

    // The result is: [ -2, -7, 2, 6 ]
Rubyで
 array = [6,-2,2,-7];
 array.sort();

 # The Result is:  [-7, -2, 2, 6]

今、私はあなたが今それを見てほしい.あなたが初心者の場合は、数のカップルを与え、コンピュータを別のプログラミング言語を使用して番号をソートするように指示、1つの言語は、それらを正しく配置(Ruby)、それらを与えると、他の答えはない(JS)を与える.
JavaScriptが奇妙な言語だからです.ない奇妙な、ちょうど異なる.JavaScriptのソートメソッドは、配列要素をソートするためにIn-Placeアルゴリズムを使用します.
これは基本的には、配列の要素を文字列のシーケンスに変換し、UTF - 16コード単位値のシーケンスを比較します.簡単な用語では、数字を文字の個々の文字列になり、それに応じて配置します.
さて、ソートメソッドは壊れていません.この下地のアルゴリズムアルゴリズムを参照するには、いくつかの文字列をソートできます.
名前の配列を指定します.
    const array = ["Daniel", "Bob", "Fizz", "Buzz", "Cynthia"];
    array.sort();

    // The result is: [ 'Bob', 'Buzz', 'Cynthia', 'Daniel', 'Fizz' ]

多田☄☄ 文字列を並べているので動作します.sortメソッドの既定の動作は、文字列のようにすべてを扱います.
心配しないでください.
シートベルトを締めてください.この関数は、parameter functionという2つのパラメータをとり、関数とその機能についてもっと知りたいと思います.この関数は、基本的に、データ型にかかわらず、AまたはBが小さいか、大きいか等しいかどうかをチェックします.
sortメソッドを配列の要素を数値として扱うようにするには、(a,b)です.これはデータ型に関係なく要素を昇順に配置します.
混乱させてください.
    //given a and b are parameters of Compare function which we pass to the sort method.
     const array = [6,-2,2,-7];
        array.sort(function(a,b){
        return a-b;
    });

    // The result will be correct, you can check 😉
イェイクスは、奇妙に見える、正気の人々のようにjust subtract the parameters (a,b) of the parameter function of the sort methodでそれをやり直すことができます.
    const array = [6,-2,2,-7];
    array.sort((a, b) => return a - b);

    // The result will be correct, you can check again 😉
たった今より礼儀正しく.
そして、そこには、よくソートされた配列があります.

この 結論


あなたが農場を持っている場合、物語のモラルは、私は非常にあなたが代わりに農業に向けることをお勧めします.あ!ちょっと冗談を言うと、JavaScriptは、ここでそこに奇妙なもののalotを持ちます、しかし、あなたが何かを愛しているとき、あなたは欠点も好きです.
あなたがJSのすべての奇妙な部分が好きでないならば、ちょっと先端、JSの上でタイプと他の涼しい特徴を提供するマイクロソフトによって をためしてください.
次の暴行まで
ダニエルKatungiデニス