Let your iterations read like actual sentences.



Instead of coding like Yoda...


For no extra cost, you also get 'fromThe':

var proHackers = filterNoobs.fromThe(hackers);

And all for less than 1KB, with no dependencies. Delicious.

Install with: npm install allthethings


Download the production version or the development version.

By default, 'allThe' performs a 'map' on the array, which doubles as a 'forEach':

var words = ['all', 'the', 'things'];
function shout(word) {
    return alert(word);
var numbers = [1,2,3];
function triple(number) {
    return number * 3;
var multiplesOfThree = triple.allThe(numbers); // [3,6,9] 

If your named function starts with 'filter' or 'is', then a filter is performed.

When filtering, it's idiomatic to use 'fromThe' instead of 'allThe':

var numbers = [-2,-1,0,1,2];
function filterNegatives(number) {
    return number >= 0;
filterNegatives.fromThe(numbers); // [0,1,2] 
var numbers = [-2,-1,0,1,2];
function isPositive(number) {
    return number > 0;
isPositive.fromThe(numbers); // [1,2] 

If your named function starts with 'reduce', 'calculate' or 'add', then a reduce is performed.

When reducing, it's idiomatic to use 'fromThe' instead of 'allThe':

Given the 'numbers' array:

var numbers = [1,2,3];

Any of these will work identically:

function reduceTotal(ab) {
    return a + b;
var total = reduceTotal.fromThe(numbers); // 6 
function calculateTotal(ab) {
    return a + b;
var total = calculateTotal.fromThe(numbers); // 6 
function addTotal(ab) {
    return a + b;
var total = addTotal.fromThe(numbers); // 6 

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using grunt.

Copyright (c) 2012 Mark Dalgleish
Licensed under the MIT license.