Also diesen Sortieralgorithmus ist etwas, was ich von hier abgezogen habe und ich versuche nur, meinen Kopf einzuwickeln, wie es funktioniert. Wenn ich alert(i)
in diese Position setze, wird es alle fünfmal wie erwartet warnen.Was verursacht dieses seltsame Shuffle-Algorithmus-Verhalten?
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]];
}
}
Aber wenn ich es in dieser Position setze es nur einmal warnt.
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]];
}
}
Was verursacht das? Läuft die Schleife nicht noch 5 Mal?
Ich dachte, es injiziert Semikolons. Was macht es, dass es nur einmal Alarm ruft? –
Die automatische Semikolon-Assertion ist etwas defekt, verwenden Sie immer nur Semikolons. Hit F12, um zu sehen, was den Code bricht ... – Teemu
Ich versuchte Ihren Code (mit Semikolon). Ich bekomme die gleiche Menge an Warnungen. [IE -> F12 drücken] | [Chrome -> Strg + Umschalt + I] | [Firefox -> Ctrl + Shift + Q] – Marcus