Ordenación extraña de la matriz cuando se usa Array.prototype.sort en Chrome

He encontrado una rareza al usarArray.prototype.sort() en una serie de números y no estoy seguro de qué lo está causando.

Mi objetivo es revertir una matriz usandosort (no usandoreverse) para poder encadenarlo así:

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

Creo que debería poder lograr esto usandosort, que parece funcionar en algunos casos pero no en otros.

Aquí hay un ejemplo de trabajo:

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

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

Y un ejemplo que no funciona:

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"]

Esto solo ocurre en Chrome y solo cuando hay más de 10 elementos en la matriz, ¿podría ser alguna forma de optimización en el motor V8 de Chrome?

Respuestas a la pregunta(1)

Su respuesta a la pregunta