0.2.7 • Published 7 years ago

eakwell v0.2.7

Weekly downloads
13
License
MIT
Repository
github
Last release
7 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

7 years ago

0.2.6

8 years ago

0.2.5

8 years ago

0.2.4

8 years ago

0.2.3

8 years ago

0.2.2

8 years ago

0.2.1

8 years ago

0.2.0

9 years ago

0.1.8

9 years ago

0.1.7

9 years ago

0.1.6

9 years ago

0.1.5

9 years ago

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago