【发布时间】:2011-05-29 00:39:00
【问题描述】:
我编写了一些简单的 jQuery,用于根据 http://jsfiddle.net/MikeGrace/Vgavb/ 所示的数字属性对一些元素进行排序
// get array of elements
var myArray = $("#original div");
// sort based on timestamp attribute
myArray.sort(function (a, b) {
// convert to integers from strings
a = parseInt($(a).attr("timestamp"), 10);
b = parseInt($(b).attr("timestamp"), 10);
// compare
if(a > b) {
return 1;
} else if(a < b) {
return -1;
} else {
return 0;
}
});
// put sorted results back on page
$("#results").append(myArray);
它工作正常,但我认为它不会扩展,因为总共进行了 185 个 jQuery 调用,其中 184 个获取元素的属性来进行比较。
用 jQuery 进行这种排序的更有效方法是什么?
【问题讨论】:
-
尝试了一些东西,但看起来我正在尝试的东西并没有真正产生足够的差异来真正关心。 jsperf.com/jquery-sort-by-numerical-property
标签: jquery sorting performance