js对象数组按属性快速排序
2014-06-27 17:24
176 查看
前一篇《关于selector性能比赛》中提到,目测觉得在$("div,p,a")这样有逗号时,sizzle耗时异常(600多个元素,花了200ms),说是它可能没有优化ie下的排序。
按所推荐的程序在IE下跑了下,的确,排序耗时很小。
Array原生的sort,当它传一个比较函数时,由于它内部用哪种排序算法,都需要多次比对,所以,耗时是很自然的事。
上面的快速排序,它并没有多次比对,
而是:
1。取出el属性值,用属性值产生一个String对象,
2。将el附在String对象上。
3。用String对象组成数组。
4。用原生的sort进String对象数组排序。
5。在排好序的String数组中,按序取出el。
即得到排好序的el数组。
按所推荐的程序在IE下跑了下,的确,排序耗时很小。
上面的快速排序,它并没有多次比对,
而是:
1。取出el属性值,用属性值产生一个String对象,
2。将el附在String对象上。
3。用String对象组成数组。
4。用原生的sort进String对象数组排序。
5。在排好序的String数组中,按序取出el。
即得到排好序的el数组。
相关文章推荐
- js对象数组按属性快速排序
- js对象数组按属性快速排序
- js对象数组按属性快速排序
- js 快速排序
- JS实现快速排序
- JS实现随机化快速排序的实例代码
- js 对象数组的排序
- 使用console.dir 快速概览Node.JS中对象实例的属性和方法
- js中结果按某属性排序
- js,jquery 根据对象某一属性进行排序
- 冒泡排序,快速排序,插入排序(JS版)
- js根据数组对象中某属性进行排序
- Ruby对象数组按属性排序
- json对象数组按对象属性排序
- js中对象属性值排序(字典倒排序)
- js 对象数组根据对象中的属性排序
- Js深度克隆对象(对象的属性含有对象数组)
- Yii——使用CHtml::link()等方法时,设置htmlOptions属性可快速生成js代码和ajax请求
- JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
- 根据对象的某一属性进行排序的js代码(如:name,age)