Nodejs Utililty Methods Array Sort

List of utility methods to do Array Sort

Description

The list of methods to do Array Sort are organized into topic(s).

Method

sort(fn)
Array.prototype.sort = function(fn) {
  if (!arguments[0]) {
    fn = function(a, b) {
      return a.compareTo(b);
    };
  for (var i = 0, len = this.length; i < len - 1; i++) {
    for (var j = i + 1, len = this.length; j < len; j++) {
      if (fn(this[i], this[j]) > 0) {
...
sortABC( property )
Array.prototype.sortABC = function( property )
  return this.sort( function( a,b)
    var links = a[property].replace(/?, "Oe").replace(/?, "Ae").replace(/?,"Ue");
    var rechts = b[property].replace(/?, "Oe").replace(/?, "Ae").replace(/?,"Ue");
    if( links < rechts) return -1;
    if( links > rechts) return 1;
    return 0;
...
sortAscending()
Array.prototype.sortAscending = function() {
  return this.sort( function( a, b ) {
    if ( a > b ) {
      return 1;
    return a < b ? -1 : 0;
  } );
};
sortAscending()
Array.prototype.sortAscending = function() {
  this.sort(function(a, b) {
    return a - b;
  });
  return this;
};
var largestProductOfThree = function(array) {
  array = array.slice().sortAscending();
  var secondFromLast = array[array.length - 2];
...
sortBool(iteratee)
Array.prototype.sortBool = function(iteratee) {
    var _iteratee = function(a, b) {return iteratee(a, b) ? -1 : 1};
    return this.sort(_iteratee);
};
sortBy( field, ascending_order )
Array.prototype.sortBy= function( field, ascending_order ) {
  var asc = ascending_order ? 1 : -1;
  return this.sort(function (a, b) {
         return (asc *(a[field] <= b[field]) ? -1:1);
  });
};
sortBy(()
Array.prototype.sortBy = (function() { 
    function identity(v){return v;} 
    function ignoreCase(v){return typeof(v)==="string" ? v.toLowerCase() : v;} 
    function makeCompareFunction(f, opt){ 
        opt = typeof(opt)==="number" ? {direction:opt} : opt||{}; 
        if(typeof(f)!="function"){ 
            var prop = f; 
            f = function(v1){return !!v1[prop] ? v1[prop] : "";} 
        if(f.length === 1) { 
            var uf = f; 
            var preprocess = opt.ignoreCase?ignoreCase:identity; 
            f = function(v1,v2) {return preprocess(uf(v1)) < preprocess(uf(v2)) ? -1 : preprocess(uf(v1)) > preprocess(uf(v2)) ? 1 : 0;} 
        if(opt.direction === -1) return function(v1,v2){return -f(v1,v2)}; 
        return f; 
    return function(callbacks){ 
        var array = this; 
        function tb(func, opt) { 
            var x = typeof(this) == "function" ? this : false; 
            var y = makeCompareFunction(func, opt); 
            var f = x ? function(a, b) { 
                            return x(a,b) || y(a,b); 
                      : y; 
            f.thenBy = tb; 
            f.sort = () => array.sort(f); 
            return f; 
        return tb(callbacks); 
    }; 
})();
sortBy()
Array.prototype.sortBy = function() {
      function _sortByAttr(attr) {
          var sortOrder = 1;
          if (attr[0] == "-") {
              sortOrder = -1;
              attr = attr.substr(1);
          return function(a, b) {
              var result = (a[attr] < b[attr]) ? -1 : (a[attr] > b[attr]) ? 1 : 0;
...
sortBy(comparator)
Array.prototype.sortBy = function(comparator) {
    return this.sort((a,b) => {
        return comparator(a) < comparator(b) ? -1 : 1
    })
sortBy(f)
Array.prototype.sortBy = function (f) {
    return this.sort(function (a, b) {
        if (a[f] < b[f])
            return -1;
        if (a[f] > b[f])
            return 1;
        return 0;
    });
};
...