修复IE9&safari 的sort方法

 更新时间:2011年10月21日 01:15:31   作者:  
解决方案其实就是冒泡排序的一个包装,本补丁不修复各浏览的排序算法不一致的问题
当前版本 v0.2
v0.1 修复IE9-- Array.prototype.sort 不能根据 对象属性 做排序的遗憾
v0.2 修复safari 不支持函数参数
复制代码 代码如下:


!function(window){
var ua = window.navigator.userAgent.toLowerCase(),
reg = /msie|applewebkit.+safari/;
if(reg.test(ua)){
var _sort = Array.prototype.sort;
Array.prototype.sort = function(fn){
if(!!fn && typeof fn === 'function'){
if(this.length < 2) return this;
var i = 0, j = i + 1, l = this.length, tmp, r = false, t = 0;
for(; i < l; i++){
for(j = i + 1; j < l; j++){
t = fn.call(this, this[i], this[j]);
r = (typeof t === 'number' ? t :
!!t ? 1 : 0) > 0
? true : false;
if(r){
tmp = this[i];
this[i] = this[j];
this[j] = tmp;
}
}
}
return this;
}else{
return _sort.call(this);
}
};
}
}(window);

相关文章

  • echarts柱状图的点击事件代码示例

    echarts柱状图的点击事件代码示例

    这篇文章主要给大家介绍了关于echarts柱状图点击事件的相关资料,在实际的项目开发中我们通常会用到Echarts来对数据进行展示,有时候需要用到Echarts的点击事件,增加系统的交互,需要的朋友可以参考下
    2023-09-09
  • 聊聊JS动画库 Velocity.js的使用

    聊聊JS动画库 Velocity.js的使用

    本篇文章主要介绍了聊聊JS动画库 Velocity.js的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • JavaScript访问本地文件夹的几种实现方法

    JavaScript访问本地文件夹的几种实现方法

    由于安全限制无法直接访问用户的本地文件或文件夹,本文主要介绍了JavaScript访问本地文件夹的几种实现方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • javascript HTML操作代码

    javascript HTML操作代码

    用 js操作html标签的一些代码,大家可以运行后查看效果
    2008-11-11
  • TypeScript 中如何限制对象键名的取值范围

    TypeScript 中如何限制对象键名的取值范围

    TypeScript由微软开发的自由和开源的编程语言,是一种给 JavaScript 添加特性的语言扩展,接下来通过本文给大家介绍TypeScript 中如何限制对象键名的取值范围,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • 全面解析JavaScript里的循环方法之forEach,for-in,for-of

    全面解析JavaScript里的循环方法之forEach,for-in,for-of

    这篇文章主要介绍了全面解析JavaScript里的循环方法之forEach,for-in,for-of的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • JavaScript避免代码的重复执行经验技巧分享

    JavaScript避免代码的重复执行经验技巧分享

    经常会发现一个问题,那就是重复的代码执行,下面就是一些在查看它们的源代码时发现一些问题,把这些分享给大家,希望能让你们更加简洁高效的写出JavaScript代码
    2014-04-04
  • 使用layui的layer组件做弹出层的例子

    使用layui的layer组件做弹出层的例子

    今天小编就为大家分享一篇使用layui的layer组件做弹出层的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 浅谈javascript原型链与继承

    浅谈javascript原型链与继承

    这篇文章主要介绍了浅谈javascript原型链与继承的相关资料,需要的朋友可以参考下
    2015-07-07
  • 基于JS制作一个简易的2048游戏

    基于JS制作一个简易的2048游戏

    这篇文章主要介绍了如何利用JS编写一个简单的2048小游戏,代码简单易懂对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05

最新评论