Javascript 多维数组排序在IE中不起作用
我有一个使用JavaScript对多维数组进行排序的函数。它在Firefox和GoogleChrome中都能很好地工作,但在IE中一点也不工作。是否有一些我不遵守的跨浏览器兼容性编码标准Javascript 多维数组排序在IE中不起作用,javascript,sorting,Javascript,Sorting,我有一个使用JavaScript对多维数组进行排序的函数。它在Firefox和GoogleChrome中都能很好地工作,但在IE中一点也不工作。是否有一些我不遵守的跨浏览器兼容性编码标准 function sortArray(arr, column, order) { var asc = function sortAsc(a, b) { return (a[column] > b[column]); } var desc = function sortDesc(a, b) {
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);
}
函数排序(arr、列、顺序){
var asc=函数排序C(a,b){
返回(a[列]>b[列]);
}
var desc=功能sortDesc(a,b){
返回(a[列]
一个调用的示例是:“Sortaray(雇员,'name','desc')”
任何关于如何在IE中修复此问题的想法都会很有帮助,这样它就不会一直返回原始数组。有什么想法吗?谢谢 您正在利用一种非标准的方式来实现比较,因此它只适用于某些浏览器 如果项目相等,则比较应返回零;如果项目不相等,则比较应返回正值或负值:
function asc(a, b) {
return (a[column] == b[column] ? 0 : a[column] < b[column] ? -1 : 1);
}
function desc(a, b) {
return asc(b, a);
}
功能asc(a、b){
返回(a[列]==b[列]?0:a[列]
Guffa有您的答案,您可能想阅读的相关部分以及内容。还要注意的是,仅仅使用函数声明要好得多。事实上,他涵盖了答案并阐明了我的问题。谢谢你给我指一些关于它的技术性阅读。