sashomaga

Underscore.js

Nov 7th, 2013
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  //# usable is web, mobile, server
  2.  //# don't change native prototypes
  3.  
  4.         function Person(name, lname, age) {
  5.             this.name = name;
  6.             this.lname = lname;
  7.             this.age = age;
  8.         }
  9.  
  10.         var people = [
  11.             new Person("jonh", "smith", 15),
  12.             new Person("miss", "world", 2),
  13.             new Person("ace", "base", 1)
  14.         ];
  15.  
  16.         /// foreach (if no native forEach)
  17.         // gives item value, index, all collection
  18.         var numbers = [1, 2, 3, 4, 5, 6];
  19.         _.each(numbers, function (item, index, collection) { console.log("%s %s %s", item, index, collection); });
  20.         /// map (if no native map)
  21.         var numbers = [0, 2, 3, 1, 3, 2];
  22.         var numbersNames = ['zero','one', 'two', 'three'];
  23.         var numbersWithNames = _.map(numbers, function (n) { return numbersNames[n]; });
  24.         console.log(numbersWithNames);
  25.         /// filter
  26.         var numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
  27.         function isEven(num) { return num % 2 }
  28.         var odd = _.filter(numbers, isEven);
  29.         var even = _.reject(numbers, isEven);
  30.         var result = _.filter(people, function(p){ return p.lName == "s" }) //people with last name starts with "P" (true or false -> filter)
  31.  
  32.         /// where
  33.         //var filteredPeople = _.filter(people, /*{age : 13 }*/ { age: 13, name: "pesho" }); //all people who have age and name (no OR) only AND
  34.  
  35.         ///all/every && some/any -> does all or atleast one elements in collection met certain condition
  36.  
  37.         ///pluck -> return only 1 prop value of collection
  38.         // var people = [.....] _.pluck(people, "lname"); // _.map(people, function(p){return p.lname});
  39.  
  40.         ///sort by && group by
  41.         var sortedPeople = _.sortBy(people, "fname");
  42.         var groups = _.groupBy(people, "name");
  43.         console.log(groups);
  44.  
  45.         //########## arrays #########//
  46.  
  47.         ///_.first() && _.initial() _.first(people) or _.first(people, 2) .... initial all without last n
  48.  
  49.         /// _.last() && _.rest() -> select last n elements
  50.  
  51.         /// _.compact() -> remove all false values
  52.  
  53.         /// _.union() && _.intersect
  54.  
  55.         /// _.memoize(function(params)) -> cash function result for this params
  56.  
  57.         /// _.compose(third, second, first) -> third(second(first())) -> pass return param to next function
  58.        
  59.  
  60.         //######### objects ##########//
  61.  
  62.         /// keys(obj)
  63.  
  64.         /// invert(obj) props <--> values
  65.  
  66.         /// extend(obj, props) -> prototypal inheritance
  67.  
  68.         //######
  69.  
  70.         _.chain(people).sortBy('fname').plunk('lname') ........ // several operations on this collection
Advertisement
Add Comment
Please, Sign In to add comment