Skip to content

Instantly share code, notes, and snippets.

@bencentra
Created February 28, 2015 19:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bencentra/adfcf83d66db7c12a920 to your computer and use it in GitHub Desktop.
Save bencentra/adfcf83d66db7c12a920 to your computer and use it in GitHub Desktop.
Some basic Underscore.js methods
/*
* Some basic Underscore.js methods
*/
var numbers = [1, 2, 2, 3, 5, 5, 8];
var moreNumbers = [3, 6, 7, 8, 9];
var people = [
{name: "Ben", age: 22},
{name: "Jim", age: 34},
{name: "Sally", age: 16}
];
console.log(people);
// Iteration
console.log("*** _.each() ***");
_.each(people, function(person) {
console.log(person.name);
});
// Selection
console.log("(*** _.select() ***");
var over20 = _.select(people, function(person) {
return person.age > 20;
});
console.log(over20.length);
// Get properties
console.log("*** _.pluck() ***");
var names = _.pluck(people, "name");
console.log(names);
// 1->1 Operation
console.log("*** _.map() ***");
names = _.map(people, function(person) {
return "Name: "+person.name;
});
console.log(names);
// N->1 Operation (left)
console.log("*** _.reduce() ***");
names = _.reduce(people, function(memory, person) {
var append = (memory === "") ? "People: " : memory + ", ";
return append + person.name;
}, "");
console.log(names);
// N-> Operation (right)
console.log("*** _.reduceRight ***");
names = _.reduceRight(people, function(memory, person) {
var append = (memory === "") ? "People: " : memory + ", ";
return append + person.name;
}, "");
console.log(names);
// De-dupliation
console.log("*** _.uniq() ***");
var unique = _.uniq(numbers);
console.log(unique);
// Intersection
console.log("*** _.intersection() ***");
var intersect = _.intersection(numbers, moreNumbers);
console.log(intersect);
// Contains
console.log("*** _.contains() ***");
var contains = _.contains(numbers, 3);
console.log(contains);
// Range
console.log("*** _.range() ***");
var range = _.range(7);
console.log(range);
// Frist
console.log("*** _.first() ***");
var first = _.first(numbers, 3);
console.log(first);
// Last
console.log("*** _.last() ***");
var last = _.last(numbers, 3);
console.log(last);
// Rest
console.log("*** _.rest() ***");
var rest = _.rest(numbers, 3);
console.log(rest);
// Keys
console.log("*** _.keys() ***");
var keys = _.keys(people[0]);
console.log(keys);
// Values
console.log("*** _.values() ***");
var values = _.values(people[0]);
console.log(values);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment