Strange Sortierung des Arrays bei Verwendung von Array.prototype.sort in Chrome

Ich habe bei der Verwendung von @ eine Kuriosität festgestellArray.prototype.sort() auf eine Reihe von Zahlen und ich bin nicht sicher, was es verursacht.

Mein Ziel ist es, ein Array mit @ umzukehrsort (nicht mitreverse) damit ich es so verketten kann:

const shouldReverse = Math.random() > 0.5,
      result = foo().bar().map(...).reverseIf(shouldReverse);

Ich glaube, ich sollte in der Lage sein, dies mit @ zu erreichsort, was in einigen Fällen zu funktionieren scheint, in anderen jedoch nicht.

Hier ist ein funktionierendes Beispiel:

const myArray = ['a', 'b', 'c', 'd'],
      mySortedArray = myArray.sort(() => 1); 

console.log(mySortedArray);
["d", "c", "b", "a"]

Und ein nicht funktionierendes Beispiel:

const myArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k'],
      mySortedArray = myArray.sort(() => 1); 

console.log(mySortedArray);
["f", "k", "a", "j", "i", "h", "g", "b", "e", "d", "c"]

Dies geschieht nur in Chrome und nur, wenn das Array mehr als 10 Elemente enthält. Könnte es sich um eine Optimierung der Chrome V8-Engine handeln?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage