Created
February 28, 2015 19:22
-
-
Save bencentra/adfcf83d66db7c12a920 to your computer and use it in GitHub Desktop.
Some basic Underscore.js methods
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* 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