Nodejs Array Sort asort(key)

Here you can find the source of asort(key)

Method Source Code

// //from   ww w . j a  va2s. c om
// arrayUtil.js - datatables?? Insert/Raise/Lower?
//  
function xsort(sqs,col,order){

    sqs.sort(function(a,b){
        return((a[col]-b[col])*order);
    });
    return(sqs);
}

Array.prototype.asort = function(key) {
    this.sort(function(a, b) {
        return (a[key] > b[key]) ? 1 : -1;
    });
}

Array.prototype.arsort = function(key) {
    this.sort(function(a, b) {
        return (a[key] < b[key]) ? 1 : -1;
    });
}

// sort by number
Array.prototype.nsort = function() {
  this.sort(function(a, b) {
    return (parseInt(a) > parseInt(b)) ? 1 : -1;
  });
}

Related

  1. sort()
    Array.prototype.sort = function(){
      var a = this;
      for(var i = 0;i<a.length-1;i++){
        var t = i;
        for(var j = i+1;j<a.length;j++)
          if(a[t]>a[j])
            t = j;
        if(t!=i)
          this.swap(i,t);
    ...
    
  2. alphanumSort( caseInsensitive )
    Array.prototype.alphanumSort = function( caseInsensitive ) {
      for ( var z = 0, t; t = this[z]; z++ ) {
        this[z] = [];
        var x = 0, y = -1, n = 0, i, j;
        while (i = ( j = t.charAt( x++ ) ).charCodeAt( 0 ) ) {
          var m = ( i == 46 || ( i >=48 && i <= 57 ) );
          if ( m !== n ) {
            this[z][++y] = "";
            n = m;
    ...
    
  3. alphanumSort(caseInsensitive)
    Array.prototype.alphanumSort = function(caseInsensitive) {
      for (var z = 0, t; t = this[z]; z++) {
        this[z] = [];
        var x = 0, y = -1, n = 0, i, j;
        while (i = (j = t.charAt(x++)).charCodeAt(0)) {
          var m = (i == 46 || (i >=48 && i <= 57));
          if (m !== n) {
            this[z][++y] = "";
            n = m;
    ...
    
  4. alphanumSort(caseInsensitive)
    Array.prototype.alphanumSort = function(caseInsensitive) {
      for (var z = 0, t; t = this[z]; z++) {
        this[z] = new Array();
        var x = 0, y = -1, n = 0, i, j;
        while (i = (j = t.charAt(x++)).charCodeAt(0)) {
          var m = (i == 46 || (i >=48 && i <= 57));
          if (m !== n) {
            this[z][++y] = "";
            n = m;
    ...
    
  5. ascendSortascendSort()
    'use strict'
    Array.prototype.ascendSort = function ascendSort() {
        return this.sort(function(a, b){
            return a > b ? 1 : a < b ? -1 : 0;
        });
    };
    
  6. countingSort()
    Array.prototype.countingSort = function() {
      var maxDigit = this[0];
      for(var i = 1; i < this.length; i++) {
        if(this[i] > maxDigit) {
          maxDigit = this[i];
      var bucket = new Array(maxDigit + 1);
      for(var i = 0; i < this.length; i++) {
    ...
    
  7. descendSortascendSort()
    Array.prototype.descendSort = function ascendSort() {
        return this.sort(function(a, b){
            return a < b ? 1 : a > b ? -1 : 0;
        });
    };
    
  8. humanSort()
    Array.prototype.humanSort = function() {
      return this.sort(function(a, b) {
        aa = a.split(/(\d+)/);
        bb = b.split(/(\d+)/);
        for(var x = 0; x < Math.max(aa.length, bb.length); x++) {
          if(aa[x] != bb[x]) {
            var cmp1 = (isNaN(parseInt(aa[x],10)))? aa[x] : parseInt(aa[x],10);
            var cmp2 = (isNaN(parseInt(bb[x],10)))? bb[x] : parseInt(bb[x],10);
            if(cmp1 == undefined || cmp2 == undefined)
    ...
    
  9. keySort(key, desc)
    Array.prototype.keySort = function(key, desc){
      this.sort(function(a, b) {
        var result = desc ? (a[key] < b[key]) : (a[key] > b[key]);
        return result ? 1 : -1;
      });
      return this;