Pourquoi la fonction de tri de javascript ne fonctionne-t-elle pas bien?

Cette simple javascript

var x = new Array();
x[0] = 2.73;
x[1] = 11.17;
x[2] = 3.12
x.sort();

for(var i in x)
    alert(x[i]);

produit les résultats:
11.17, 2.73, 3.12 au lieu de 2.73, 3.12, 11.17.

Pourquoi et comment puis-je résoudre ce problème?

Merci d'avance!

source d'informationauteur Christos Mitsis