【週刊ドットインストール】 256timesにて新クラスをリリース、Vue.js/Nuxtのロードマップページを追加
function shuffle(arr){ for(let i = arr.length-1; i>0; i--){ const j = Math.floor(Math.random()*(i+1)); [arr[j],arr[i]] = arr[i],arr[j]]; } return arr; }
return arr; を消すと選択肢が表示されなくなります。 こちらのコードの return arr; の動きについて教えてください。
return arr;
for の中で i > 0 と定義しているので、i が 0 より小さくなった場合に処理を止めるという認識であっていますでしょうか?
i > 0
i
0
let i = arr.length-1; i>0; i-- で数を後ろから 1 つずつ減らしていくと定義しているので、return arr; がなくても最初に選択肢は表示されて、シャッフルする対象が 0 になった時に表示がされなくなると思ったのですが、なぜ return arr; がないと選択肢が表示されないのでしょうか。
let i = arr.length-1; i>0; i--
ご回答宜しくお願い致します。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
return arr;を消すと選択肢が表示されなくなります。こちらのコードの
return arr;の動きについて教えてください。for の中で
i > 0と定義しているので、iが0より小さくなった場合に処理を止めるという認識であっていますでしょうか?let i = arr.length-1; i>0; i--で数を後ろから 1 つずつ減らしていくと定義しているので、return arr;がなくても最初に選択肢は表示されて、シャッフルする対象が 0 になった時に表示がされなくなると思ったのですが、なぜreturn arr;がないと選択肢が表示されないのでしょうか。ご回答宜しくお願い致します。