מייַן מיטאַרבעטער און איך אַרגיוינג וועגן וואָס די שאַרן אַלגערידאַם געגעבן אין דעם רשימה פון JS עצות & טריקס טוט נישט פּראָדוצירן בייאַסט רעזולטאַטן ווי די סאָרט Jeff Atwood באשרייבט [11151704
די מענגע שאַרן קאָד אין די עצות איז:
list.sort(function() Math.random() - 0.5);
דזשעף ס נאַיוו שאַרן קאָד איז:
for (int i = 0; i < cards.Length; i++)
{
int n = rand.Next(cards.Length);
Swap(ref cards[i], ref cards[n]);
}
איך געשריבן דעם JS צו פּרובירן די שאַרן:
var list = [1,2,3];
var result = {123:0,132:0,321:0,213:0,231:0,312:0};
function shuffle() { return Math.random() - 0.5; }
for (var i=0; i<60000000; i++) {
result[ list.sort(shuffle).join('') ]++;
}
פֿאַר וואָס איך באַקומען רעזולטאַטן (פֿון Firefox 5 ) ווי:
Order Count %Diff True Avg 123 9997461 -0.0002539 132 10003451 0.0003451 213 10001507 0.0001507 231 9997563 -0.0002437 312 9995658 -0.0004342 321 10004360 0.000436
מאַשמאָעס Array.sort
איז גיין די רשימה
מענגע און דורכפירן סוואַפּס פון (שכייניש) עלעמענטן ענלעך צו דזשעף ס בייַשפּיל. אַזוי וואָס טאָן ניט די רעזולטאַטן קוקן בייאַסט?