YannBergonzat

Sorting functions for JavaScript

Jan 2nd, 2014
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. String.prototype.isBefore = function(string) {
  2.     if(string.indexOf(' ') != -1) throw "Error : Not supported character [space]";
  3.     string = string.toLowerCase();
  4.     string = string.replace(/[àâáãäå]+/gim, 'a');
  5.     string = string.replace(/[èêéë]+/gim, 'e');
  6.     string = string.replace(/[ìîíï]+/gim, 'i');
  7.     string = string.replace(/[òôóöõø]+/gim, 'o');
  8.     string = string.replace(/[ùûúü]+/gim, 'u');
  9.     string = string.replace(/[ýÿ]+/gim, 'y');
  10.     string = string.replace(/[ñ]+/gim, 'n');
  11.    
  12.     var alpha = 'abcdefghijklmnopqrstuvwxyz';
  13.     var first = this.toString();
  14.     var second = string.toString();
  15.     var minLength = (first.length > second.length) ? second.length : first.length;
  16.     var bool = false;
  17.     var equal = true;
  18.    
  19.     for(var i=0; i<minLength && bool==false; i++) {
  20.         if(alpha.indexOf(first[i]) < alpha.indexOf(second[i])) {
  21.             bool = true;
  22.             equal = false;
  23.         }
  24.         else if(alpha.indexOf(first[i]) > alpha.indexOf(second[i]))
  25.             equal = false;
  26.            
  27.         if(alpha.indexOf(first[i]) == -1) throw "Error : Not supported character '"+ first +"' on index "+ i;
  28.         if(alpha.indexOf(second[i]) == -1) throw "Error : Not supported character '"+ second +"' on index "+ i;
  29.     }
  30.    
  31.     if(equal) bool = true;
  32.    
  33.     return bool;
  34. };
  35. String.prototype.isAfter = function(string) {
  36.     if(string.indexOf(' ') != -1) throw "Error : Not supported character [space]";
  37.     string = string.toLowerCase();
  38.     string = string.replace(/[àâáãäå]+/gim, 'a');
  39.     string = string.replace(/[èêéë]+/gim, 'e');
  40.     string = string.replace(/[ìîíï]+/gim, 'i');
  41.     string = string.replace(/[òôóöõø]+/gim, 'o');
  42.     string = string.replace(/[ùûúü]+/gim, 'u');
  43.     string = string.replace(/[ýÿ]+/gim, 'y');
  44.     string = string.replace(/[ñ]+/gim, 'n');
  45.    
  46.     var alpha = 'abcdefghijklmnopqrstuvwxyz';
  47.     var first = string.toString();
  48.     var second = this.toString();
  49.     var minLength = (first.length > second.length) ? second.length : first.length;
  50.     var bool = false;
  51.     var equal = true;
  52.    
  53.     for(var i=0; i<minLength && bool==false; i++) {
  54.         if(alpha.indexOf(first[i]) < alpha.indexOf(second[i])) {
  55.             bool = true;
  56.             equal = false;
  57.         }
  58.         else if(alpha.indexOf(first[i]) > alpha.indexOf(second[i]))
  59.             equal = false;
  60.            
  61.         if(alpha.indexOf(first[i]) == -1) throw "Error : Not supported character '"+ first +"' on index "+ i;
  62.         if(alpha.indexOf(second[i]) == -1) throw "Error : Not supported character '"+ second +"' on index "+ i;
  63.     }
  64.    
  65.     if(equal) bool = true;
  66.    
  67.     return bool;
  68. };
Advertisement
Add Comment
Please, Sign In to add comment