JavaScript Array sort() Methodに従って配列をソートしています。パラメータを使用するとcompareFunction
、Internet Explorer 11 が正しくソートされません。
私はプレイヤーと一緒にチーム配列を持っています。これらのプレーヤーの名前は次のとおりです。
var team = [
{name:"Waldo"},
{name:"Sarah"}
];
しかし、私はそれらをスタジアムのビデオボードにアルファベット順に並べ替えて表示したいと考えています。したがって、DOM の準備ができたときにそれらを追加するリストがあります。
MyHtml
<h2>My Team after sorting</h2>
<button onclick='sortAndDisplay()'>Click here to sort by Name</button>
<ul id="myTeamAfter">
</ul>
私のJavascriptコード
function sortAndDisplay(){
$("#myTeamAfter").empty();
team.sort(function(a, b){return a.name > b.name;});
for(var i=0; i < team.length; i++){
$("#myTeamAfter").append( "<li>" + team[i].name + "</li>" );
}
}
問題は、一部のクラブがスタジアムで Internet Explorer 11 を使用していて、私が使用するときの sort() 関数compareFunction
が IE11 で正しく動作しないため、Sarah よりも Waldo が最初に表示され、ファンが混乱していることです。
それを再現できるPlunkerを作成しました:
- Firefox 33.1 - 動作中!! :)
- Chrome 39.0.2171.65 - 動作中!! :)
- Internet Explorer 11.0.9600 - 動作しません:(
すべてのブラウザの sort() を解決するアイデアはありますか?
ありがとう!