注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
配列からn個の要素を重複無しでランダムに取り出す - m2 後の二つ三つ目は一様にならないし,重複する可... 配列からn個の要素を重複無しでランダムに取り出す - m2 後の二つ三つ目は一様にならないし,重複する可能性もあるような。 function shuffle(a, n){ // Fisher-Yates var r = a.concat(), l = r.length, n = n < l ? n : l, i = l, j, t; for(i = l; i;) t = r[j = Math.random()*i--|0], r[j] = r[i], r[i] = t; r.length = n; return r; } 証明済みのアルゴリズムで愚直にやるとこうなるけど,n と a.length の差が大きいときに損するか。 + 勘違いに気付いてみると,元ネタの二つ目はまさに損しないやり方。自分--。
2010/02/24 リンク