Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Ruby-style sort_by functionality in jQuery.

branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

README.md

Sometimes the ruby-style sort_by sorting is easier to use than JavaScripts default sort implementation.

Here's a plugin that brings sort_by functionality to jQuery.

$.fn.sortBy = function(fn, options) {
  var opts = $.extend({ reverse: false }, options);
  return this.map(function(i, el) { return [[fn(el, i), el]]; }).sort(function(a, b) {
    return (a[0] == b[0] ? 0 : (a[0] > b[0] ? 1 : -1)) * (opts.reverse ? -1 : 1);
  }).map(function(i, ar) { return ar[1]; });
};

And here's how you use it.

$trs.sortBy(function(tr) {
  return $(tr).find('.' + col).data('sort');
}, { reverse: $th.is('.desc') }).appendTo($tbody);
Something went wrong with that request. Please try again.