Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //# usable is web, mobile, server
- //# don't change native prototypes
- function Person(name, lname, age) {
- this.name = name;
- this.lname = lname;
- this.age = age;
- }
- var people = [
- new Person("jonh", "smith", 15),
- new Person("miss", "world", 2),
- new Person("ace", "base", 1)
- ];
- /// foreach (if no native forEach)
- // gives item value, index, all collection
- var numbers = [1, 2, 3, 4, 5, 6];
- _.each(numbers, function (item, index, collection) { console.log("%s %s %s", item, index, collection); });
- /// map (if no native map)
- var numbers = [0, 2, 3, 1, 3, 2];
- var numbersNames = ['zero','one', 'two', 'three'];
- var numbersWithNames = _.map(numbers, function (n) { return numbersNames[n]; });
- console.log(numbersWithNames);
- /// filter
- var numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
- function isEven(num) { return num % 2 }
- var odd = _.filter(numbers, isEven);
- var even = _.reject(numbers, isEven);
- var result = _.filter(people, function(p){ return p.lName == "s" }) //people with last name starts with "P" (true or false -> filter)
- /// where
- //var filteredPeople = _.filter(people, /*{age : 13 }*/ { age: 13, name: "pesho" }); //all people who have age and name (no OR) only AND
- ///all/every && some/any -> does all or atleast one elements in collection met certain condition
- ///pluck -> return only 1 prop value of collection
- // var people = [.....] _.pluck(people, "lname"); // _.map(people, function(p){return p.lname});
- ///sort by && group by
- var sortedPeople = _.sortBy(people, "fname");
- var groups = _.groupBy(people, "name");
- console.log(groups);
- //########## arrays #########//
- ///_.first() && _.initial() _.first(people) or _.first(people, 2) .... initial all without last n
- /// _.last() && _.rest() -> select last n elements
- /// _.compact() -> remove all false values
- /// _.union() && _.intersect
- /// _.memoize(function(params)) -> cash function result for this params
- /// _.compose(third, second, first) -> third(second(first())) -> pass return param to next function
- //######### objects ##########//
- /// keys(obj)
- /// invert(obj) props <--> values
- /// extend(obj, props) -> prototypal inheritance
- //######
- _.chain(people).sortBy('fname').plunk('lname') ........ // several operations on this collection
Advertisement
Add Comment
Please, Sign In to add comment