この関数を使用して、ランダムな範囲の数値を作成しました。
function randomRange(min, max) {
return (new Array(++max-min))
.join('.').split('.')
.map(function(v,i){ return min+i; })
.sort(function(){ return 0|Math.random()*max; });
}
完璧に動作しますが、Chrome でのみ動作します。他のすべてのブラウザは、何らかの理由でほとんど変化がありません...
ここに簡単なデモがあるので、 http://jsfiddle.net/elclanrs/zZRda/の違いがわかります。
ご覧のように、Chrome での数字の順序はほとんどランダムですが、他のブラウザーではあまり変化がなく、いくつかの数字が場所を変えるだけで、ほとんど同じように見えます。
Chrome やその他のブラウザーでhttp://jsbin.com/iyalax/3/editを確認すると、違いがはっきりとわかります。
なぜこれが起こっているのですか?
編集:私はすべてのブラウザーで正常に動作する別の関数を持っています。それは長くて醜いだけです。http :randomRange
//jsbin.com/iyalax/4/edit をチェックして違いを確認してください。