多维数组排序在IE中不起作用

时间:2013-01-19 06:44:19

标签: javascript sorting

我有一个使用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中可能解决此问题的任何想法,以便它不会继续返回原始数组将有所帮助。有任何想法吗?谢谢!

1 个答案:

答案 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);
}