誰でもこの実装のバリエーションがどのように機能するかを教えてください。_shuffleのこの実装の背後にあるロジックは何ですか?
私たちはのvarランドで(我々がアクセスしようとしているインデックス別名)生成された乱数は、我々は与えられた配列をシャッフルしていることを確認するために、一意であることを確認する方法として、少し困惑しています。
例:生成された乱数が2と3のインデックスを繰り返すために起こったので[3,4,3,1] [3,4,3,1]と[3,3,4,4]は返されません。
_.shuffle = function(array) {
var newArr = array.slice();
for (var i=array.length-1; i>0; i--) {
var rand = Math.round(Math.random() * i);
var temp = newArr[rand];
newArr[rand] = newArr[i];
newArr[i] = temp;
}
return newArr;
};
との分布とそれを行う理由_unique_する必要がありますか? – Satpal
私はちょっと私の質問を明確にしましたが、本当に「シャッフル」するためのユニークなインデックスを生成する必要があるという印象を受けましたか? @Satpal – misteryeo