我正在使用以下代码/数据来显示我们每个学院中收入最高的学生的列表。
数据
附1:User_Info是一个Objects数组
附件2:User_Info 是这样一个Objects 的数组
附件 3:Database_Info 是这样的 Object
编码
HPAnalysisObject.dispHPTotals = function(User_Info, Database_Info) {
// See attachments 1 and 2
console.log(User_Info);
// See attachment 3
console.log(Database_Info);
// "label" is just a text title, like "Eagles"
var html = '<h2>' + HPAnalysisObject.label + '</h2>' +
// "TotalPoints" is an integer figure
'<div id="total">' + Database_Info.TotalPoints + '</div>';
// create the table to display
html += '<table><tr><th class="name">Name</th><th class="points">Points</th></tr>';
// use "for, in" to access the value of the object key (which is the user's ID)
for (var id in Database_Info.UserDetails) {
html += '<tr>';
for (var i = 0; i < User_Info.length; i++) {
if (User_Info[i].id == id) {
// if the User_Info and Database_Info objects match up on the User's ID, add table cells to our html variable
html += '<td class="name">' + User_Info[i].firstname + ' ' + User_Info[i].surname + '</td><td class="points">' + Database_Info.UserDetails[id] + '</td>';
}
}
html += '</tr>';
}
html += '</table>';
$('div#display').html(html);
};
问题
奇怪的是,在 Firefox 中,这些学生以正确的数字顺序显示,因为学生是从我的 PHP 脚本接收的。
但是,在 Google Chrome 和 Internet Explorer 中,它们以看似随机的顺序出现!
我的第一个想法是订购对象,但是在这里阅读了一些问题后,似乎订购对象并不是最佳实践。
我可以重写这段代码,以便在每个浏览器上以正确的顺序显示相同的表格数据吗?
提前致谢,