JavaScriptによる配列の要素のシャッフル
以下のようなフィッシャー・イェーツというJavaScriptによるシャッフル法を見かけました。
JavaScript
1①a = [1,2,3,4,5,6,7,8,9]; 2② 3③//取り出す範囲(箱の中)を末尾から狭める繰り返し 4④for(i = a.length -1;i>0;i--){ 5⑤ //乱数生成を使ってランダムに取り出す値を決める 6⑥ r = Math.floor(Math.random()*(i+1)); 7⑦ //取り出した値と箱の外の先頭の値を交換する 8⑧ tmp = a[i]; 9⑨ a[i] = a[r]; 10⑩ a[r] = tmp; 11⑪} 12⑫//結果を表示 13⑬console.log(a);
わからないこと
6行目のi+1は何を意味するのでしょうか?
a.length-1+1、つまり9でしょうか
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/12 11:39
2019/08/12 11:43
2019/08/12 12:11
2019/08/12 12:16
2019/08/12 12:34
2019/08/12 12:37
2019/08/12 12:52