0.2.7 • Published 8 years ago

eakwell v0.2.7

Weekly downloads
13
License
MIT
Repository
github
Last release
8 years ago

eakwell.js

npm version Build Status Test Coverage Dependency Status

Utility functions for arrays and objects alike, as a CommonJS module.

Installation

npm install eakwell --save

Usage

var _ = require('eakwell');

// Iterate through arrays
_.each([1,2,3], function(value) {});

// ..with index if you like
_.each([5,6,7], function(value, index) {});

// Iterate objects in the same way
_.each({a: 'foo', b: 'bar'}, function(value, key) {});

// Map arrays
var doubles = _.map([1,2,3], function(n) { return n * 2 });

// Index available if needed
_.map([9,8,7], function(n, index) { return n });

// Objects welcome too
var ages = {
  Fred: 31,
  Anna: 24
};
var futureAges = _.map(ages, function(age) { return age + 20 });
//=> {Fred: 51, Anna: 44}

// When called with a string, we map directly to the items' members
var names = _.map(people, 'name');

// Call the given function <n> times
_.times(2, function() { console.log('Hip') });
console.log('Hooray');

// Select a subset of items, that satisfy the given function
var odds = _.select([1,2,3,4], function(n) { return n % 2 });

// Check if all items match the given condition
var doneDeal = _.all(books, function(book) { return book.price < 10 });

// Check if at least one item matches the given condition
var forbidden = _.any(people, function(person) { return person.age < 18 });

// Check if the given item is a member of the array, object or string
var hasFooInList = _.contains(['foo', 'bar'], 'foo');

// For objects, the actual key where the value was found is returned
var barKey = _.contains({foo: 1, bar: 2}, 2);

// Call the named method on each item
_.invoke(todos, 'delete');

// Further arguments will get passed to the invoked method
_.invoke(items, 'set', key, value);

// Invoke returns an array of return values, similar to map
var uppercased = _.invoke(['foo', 'bar'], 'toUpperCase');

// Interleave the items of two arrays, stop on the shorter list
var a = [1,2,3,7];
var b = [4,5,6];
_.zip(a, b); //=> [[1,4], [2,5], [3,6]]

// Zip can be also be used with a callback 
_.zip(a, b, function(fromA, fromB) {});

// Make a flat array from a hierarchy of nested arrays
_.flatten([1, [2, [3]], 4]); //=> [1,2,3,4]

// Return new object with the fields from both given objects
_.merge({a: 'foo'}, {b: 'bar'}); //=> {a: 'foo', b: 'bar'}

// Merge two arrays
var one2six = _.union([1,2,3], [4,5,6]); //=> [1,2,3,4,5,6]

License

MIT

0.2.7

8 years ago

0.2.6

8 years ago

0.2.5

8 years ago

0.2.4

9 years ago

0.2.3

9 years ago

0.2.2

9 years ago

0.2.1

9 years ago

0.2.0

9 years ago

0.1.8

9 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago