Nodejs Array Sort sortByFrequency()

Here you can find the source of sortByFrequency()

Method Source Code

Array.prototype.sortByFrequency = function () {
   var freq = {};
   this.map(function(e, i, a){
      if(e in freq){
         freq[e]++;/*from   w  ww  . j av  a 2 s  .c  o m*/
      } else {
         freq[e] = 1;
      }
   });

   return this.sort(function(a, b){
      return freq[a] - freq[b];
   });
};

Related

  1. sortBy(index,sort)
    Array.prototype.sortBy = function(index,sort){
        index = index || 0;
        sort = sort || "asc";
        var i, j, t, len = this.length;
        for(i = 0 ; i < len ; i ++){
            for(j = 1 ; j < len ; j++){
                if(this[j].charCodeAt(index >= 0 ? index : this[j].length+index) > this[j-1].charCodeAt(index >= 0 ? index : this[j-1].length+index)){
                    if(sort === "asc"){
                    }else{
    ...
    
  2. sortBy(keySelector)
    Array.prototype.sortBy = function (keySelector) {
        return this.slice().sort(function(a,b) {
            var aKey = keySelector(a),
                bKey = keySelector(b);
            if (aKey > bKey) {
                return 1;
            else if (bKey > aKey) {
                return -1;
    ...
    
  3. sortBy(p)
    Array.prototype.sortBy = function(p) {
      return this.slice(0).sort(function(a,b) {
        return (a[p] > b[p]) ? 1 : (a[p] < b[p]) ? -1 : 0;
      });
    };
    
  4. sortBy(p, type)
    Array.prototype.sortBy = function(p, type) {
      if(type == undefined) type = "asc";
      if(type == "desc"){
        return this.slice(0).sort(function(a,b) {
          return (a[p] < b[p]) ? 1 : (a[p] > b[p]) ? -1 : 0;
        });        
      } else {
        return this.slice(0).sort(function(a,b) {
          return (a[p] > b[p]) ? 1 : (a[p] < b[p]) ? -1 : 0;
    ...
    
  5. sortByDesc(f)
    Array.prototype.sortByDesc = function (f) {
        return this.sort(function (a, b) {
            if (a[f] < b[f])
                return 1;
            if (a[f] > b[f])
                return -1;
            return 0;
        });
    };
    ...
    
  6. sortByID()
    var library = [ 
           title:  'The Road Ahead',
           author: 'Bill Gates',
           libraryID: 1254
       },
           title: 'Walter Isaacson',
           author: 'Steve Jobs',
    ...
    
  7. sortByID(argument)
    'use strict';
    Array.prototype.sortByID = function(argument){
      this.sort(function(x,y){
        return x.libraryID > y.libraryID;
      });
    };
    var library = [ 
           title:  'The Road Ahead',
    ...
    
  8. sortByKeysortByKey(key, dsc)
    Array.prototype.sortByKey = function sortByKey(key, dsc) {
      return this.sort(function(a, b) {
          var x = a[key]; 
          var y = b[key];
          if (dsc ==='dsc') {
            return (x === undefined && y === undefined ? 0 : (x < y) || x === undefined ? 1 : ((x > y) || y === undefined ? -1 : 0));
          return (x === undefined && y === undefined ? 0 : (x < y) || x === undefined ? -1 : ((x > y) || y === undefined ? 1 : 0)); 
      });
    ...
    
  9. sortByNumber()
    Array.prototype.sortByNumber = function() {
     return this.sort(function(a, b) { return a - b; });