多维数组排序不工作在IE
Multi-dimensional array sort not working in IE
我有一个使用JavaScript对多维数组排序的函数。它在Firefox和Google 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(employees, 'name', 'desc')"
关于在IE中修复此问题的任何想法,以便它不会一直返回原始数组将是有帮助的。什么好主意吗?谢谢!
你正在利用一种非标准的方式来实现比较,所以它只适用于某些浏览器。
如果两项相等,比较应该返回0,如果不相等,则返回正数或负数:
function asc(a, b) {
return (a[column] == b[column] ? 0 : a[column] < b[column] ? -1 : 1);
}
function desc(a, b) {
return asc(b, a);
}
相关文章:
- Target=_blank don'我不在mozilla和IE工作
- jQUery Code没有'我不在IE工作
- 为什么这个书签脚本是't在IE工作
- 类构造函数super()没有'我不在IE工作
- onmousemove=null不会'我不在IE工作
- execCommand('另存为',true,'data.csv');不在IE工作
- 努力让第n个有悬停的孩子在IE工作
- Javascript Groovy按钮没有'我不在IE工作
- 属性='值'jquery选择没有'我不在IE工作
- atob不在IE工作
- 将图像附加到富文本编辑器dosen'我不在IE工作
- javascript没有'I don’我一直在IE工作
- 使用插件制作移动滑动导航,但它没有'我不在IE工作
- Video.js没有'我不在FF、IE工作
- dojo on.emit”;点击“;以及“;改变“;不在IE工作
- 为什么这个工具提示没有'不在IE工作吗?错误:应为对象
- document.getElementById('a').click()没有't在IE工作
- 插入符号插件的jquery;我不在IE工作
- 聚合物:点击事件在IE工作,但不是Chrome.如何修复
- 如何使IE工作预期与正则表达式提供的函数参数在拆分函数