Advertisement
ptrelford

JavaScript Array extensions

Jan 5th, 2017
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function id(x) { return x; }
  2.  
  3. Array.prototype.where = function(predicate) {
  4.     var newArray=[];
  5.     for (var i=0;i<this.length;i++) {
  6.         var item=this[i];
  7.         if(predicate(item)) newArray.push(item);
  8.     }
  9.     return newArray;
  10. }
  11.  
  12. Array.prototype.choose = function(chooser) {
  13.     var newArray=[];
  14.     for (var i=0;i<this.length;i++) {
  15.         var item=chooser(this[i]);
  16.         if(item!=null) newArray.push(item);
  17.     }
  18.     return newArray;
  19. }
  20.  
  21. Array.prototype.countBy=function(getKey) {
  22.     if(getKey==undefined) getKey=id;
  23.     var counts={};
  24.     for(var i=0;i<this.length;i++) {
  25.         var key=getKey(this[i]);
  26.         var count=counts[key];
  27.         counts[key]=(count==undefined)?1:count+1;
  28.     }
  29.     return counts;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement