Sorting array usando a função Javascript - Compreendendo

Decidi obter valores aleatórios da matriz. por isso usei essa função, peguei na net, funciona bem. Mas não sei como funciona ...

qualquer pessoa pode me ajudar a entender isso?

meu código é:

  function rand(ar){
    return 0.5-Math.random();
}
var ar = [5,10,15,20,25]
ar.sort(rand);
console.log(ar)

Estou usando esta função para obter novos valores de matriz aleatória da declarad

questionAnswers(2)

yourAnswerToTheQuestion