我有一个使用JavaScript排序多维数组的函数。它在Firefox和谷歌Chrome中都运行良好,但在IE中根本没有。是否有一些编码标准我不遵守跨浏览器兼容性?
function sortArray(arr, column, order) {
var asc = function sortAsc(a, b) {
return (a[column] > b[column]);
}
var desc = function sortDesc(a, b) {
return (a[column] < b[column]);
}
if (order=="desc")
{
return arr.sort(desc);
}
return arr.sort(asc);
}
电话会议的一个例子是:“sortArray(雇员,'名字','desc')”
有关IE中可能解决此问题的任何想法,以便它不会继续返回原始数组将有所帮助。有任何想法吗?谢谢!
答案 0 :(得分:1)
您正在利用非标准的方式来实施比较,因此它仅适用于某些浏览器。
如果项目相等,则比较应返回零;如果项目不相等,则应返回正值或负值:
function asc(a, b) {
return (a[column] == b[column] ? 0 : a[column] < b[column] ? -1 : 1);
}
function desc(a, b) {
return asc(b, a);
}