0
このソートアルゴリズムは私がここから抜け出したもので、私はそれがどのように動作するかを頭の中に入れようとしています。 alert(i)
をこの位置に置くと、期待どおりに5回の警告が表示されます。この奇妙なシャッフルアルゴリズムの動作の原因は何ですか?
function shuffle(a) {
for (let i = a.length; i; i--) {
alert(i)
let j = Math.floor(Math.random() * i);
[a[i - 1], a[j]] = [a[j], a[i - 1]];
}
}
しかし、私がこの位置に置くと、それは一度だけ警告します。
function shuffle(a) {
for (let i = a.length; i; i--) {
let j = Math.floor(Math.random() * i);
alert(i)
[a[i - 1], a[j]] = [a[j], a[i - 1]];
}
}
この原因は何ですか。ループはまだ5回実行されていませんか?
私はそれがセミコロンを注入すると思った。これは何をしているのですか? –
自動セミコロンアサーションは幾分壊れた機能ですが、常にセミコロンを使用します。 F12を押して、コードを壊しているものを確認してください。 – Teemu
コードを(セミコロンで)試しました。私は同じ量のアラートを取得します。 [IE - > F12ヒット] | [Chrome - > Ctrl + Shift + I] | [Firefox - > Ctrl + Shift + Q] – Marcus