2017-10-21 12 views
-3

私はJavascriptの初心者です。今は私が仕事の解決法の一つと混同している本を読んでいます。 var arr = [1, 2, 3, 4, 5] :配列内の無作為な順序

ソート関数の助けを借りて、配列内でランダムな順序を取得する必要があります。ここで、著者のソリューション `

function compareRandom(a, b) { 
 
return Math.random() - 0.5 ; 
 
} 
 
var arr = [1,2,3,4]; 
 
arr.sort(compareRandom); 
 
alert(arr); // elements are in a random order ` [3,5,1,2,4]

は、だから私は、関数がステップによって、その実現のステップをどのように機能するかを理解カントです。私にそれを説明できる誰かがいるのですか?

+3

検索していません。どうして? – Tomalak

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort –

+1

ありがとうございます。彼は少なくとも良い質問をしました。 –

答えて

1

関数をソートするパラメータとして渡しているものは、compareFunctionです。これはオプションです。 compareFunctionは、代替ソート順を定義する関数です。ソート()メソッドは、2つの値を比較するとき、それは比較関数に値を送信し、値をソート

function(a, b){return a-b} 

:のような関数は、引数に応じて、負、ゼロ、または正の値を返す必要があります返された(負、ゼロ、正の)値に応じて

例:40と100を比較すると

、ソート()メソッドは、比較関数(40,100)を呼び出します。

この関数は40-100を計算し、-60(負の値)を返します。 ソート機能は、40を100より小さい値としてソートします。

関連する問題