那天我問了一個關於在JQuery中根據附加數據值排序元素的問題。下面的解決方案工作,但提出了另一個關於使用本地排序方法的問題和它的效率。有沒有一種比JQuery更有效的排序方法?
任何人都可以推薦一種更有效的方法來解決這個問題嗎?
$(function() {
var myArray = $('li').get();
myArray.sort(function(x,y) {
return $(x).data('color') > $(y).data('color') ? 1 : -1;
});
$('ul').empty().append(myArray);
});
我無法想象你會比這更好,儘管你可能能夠避免一些DOM操作。 – 2011-04-05 12:34:11
不確定它是否與效率有關,但是語句'return $(x).data('color')> $(y).data('color')?假設值爲數字,則可將1:-1'寫爲返回$(x).data('color') - $(y).data('color')'。 – zindel 2011-04-05 12:35:00
值在此時刻是基於字符串的 – Andrew 2011-04-05 12:36:01