我正在按照JavaScript Array sort() Method 对数组进行排序。当我使用compareFunction
参数时,Internet Explorer 11 没有正确排序。
我有一个包含球员的团队。这些球员有名字:
var team = [
{name:"Waldo"},
{name:"Sarah"}
];
但我想在体育场视频板上按字母顺序显示它们。所以当 DOM 准备好时,我有一个列表来附加它们:
我的HTML
<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 上无法正常工作,所以 Waldo 比 Sarah 先显示,球迷们很困惑。
我创建了一个Plunker,您可以在其中复制它:
- Firefox 33.1 - 工作!!:)
- Chrome 39.0.2171.65 - 工作!!:)
- Internet Explorer 11.0.9600 - 不工作:(
任何想法为每个浏览器解决 sort() ?
谢谢!