https://github.com/kevinrodrigues/array-helper
:wrench: Small helper array helper library
https://github.com/kevinrodrigues/array-helper
array arrayhelper arrays compact every filter flatten helpers jasmine javascript npm npm-module npm-package partial
Last synced: about 1 month ago
JSON representation
:wrench: Small helper array helper library
- Host: GitHub
- URL: https://github.com/kevinrodrigues/array-helper
- Owner: kevinrodrigues
- License: mit
- Created: 2017-10-19T09:42:03.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-12-14T08:22:34.000Z (about 8 years ago)
- Last Synced: 2024-12-06T21:07:20.367Z (about 1 year ago)
- Topics: array, arrayhelper, arrays, compact, every, filter, flatten, helpers, jasmine, javascript, npm, npm-module, npm-package, partial
- Language: JavaScript
- Homepage:
- Size: 134 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://travis-ci.org/kevinrodrigues/array-helper)
[](http://npm-stat.com/charts.html?package=array-helper-functions&from=2017-10-20)
[](http://npm.im/array-helper-functions)
[](http://opensource.org/licenses/MIT)
# Array Helpers
Some helpful array methods. Spent sometime using [Underscore](http://underscorejs.org/) in a previous project so I decided to build a helper library from scratch using some ideas behind this library. :honeybee:
## Installation
This package is distributed via npm:
```javascript
npm install --save-dev array-helper-functions
// Global install
npm install -g array-helper-functions
```
## API overview
```javascript
- filter
- flatten
- compact
- partial
- every
- object
- map
```
## Usage
```javascript
const arrayHelper = require('array-helper-functions');
```
### `filter` [array, filterItem, boolean]
```javascript
let filter = arrayHelper.filter([1, 3, 100, 50], 50); // => [1, 3, 100];
```
Boolean: `true`
Filters deep nested arrays.
```javascript
let filter = arrayHelper.filter([1, 3, 100, [[[50]]], 50, true); // => [1, 3, 100];
```
### `flatten` [array, boolean]
```javascript
let flatten = arrayHelper.flatten([1, 3, 100, [50]]); // => [1, 3, 100, 50];
```
Boolean: `true`
Flattens deep nested arrays.
```javascript
let flatten = arrayHelper.flatten([1, 3, 100, [[[50]]], true); // => [1, 3, 100, 50];
```
### `compact` [array]
Removes Falsy values from array set.
```javascript
let compact = arrayHelper.compact([1, 2, 3, 100, null, 0]); // => [1, 2, 3, 100];
```
### `partial` [func, array]
Invokes a given function with the provided array set passed.
```javascript
const foo = (a, b, c) => {
return a + b + b;
};
let partial = arrayHelper.partial(foo, [1, 2, 3]); // Invokes method `foo` with given arguments. => 6
```
### `every` [func, array]
Executes the provided callback function once for each element present
in the array until it finds one where the callback returns a falsy value.
```javascript
const isFooBigger = (element) => {
return element >= 5;
};
let every = arrayHelper.every(isFooBigger, [1, 2, 3]); // Returns false.
let every = arrayHelper.every(isFooBigger, [10, 5, 7]); // Returns true.
```
### `object` [array, list]
Converts arrays to objects.
```javascript
let object = arrayHelper.object([1, 2, 3]); // => {'0': 1, '1': 2, '2': 3}
let object = arrayHelper.object(['foo', 'baz', 'fizz']); // => { '0': 'foo', '1': 'baz', '2': 'fizz' }
### `map` [array]
Returns a new array from a tranformation applied by a function.
const multiply = (num) => {
return num * 2;
};
let map = arrayHelper.map([1, 2, 3], multiply); // => [2, 4, 6]
```
## Project Setup
This project assumes you have [NodeJS v6](http://nodejs.org/) or greater installed. You should
also have [npm v3](https://www.npmjs.com/) or greater installed as well (this comes packaged
with Node 6). You'll also need a recent version of [git](https://git-scm.com/) installed
as well.
To get started with the project, start with this:
1. [Sign up](https://github.com/join) for a GitHub Account (if you don't already have one)
2. [Fork](https://help.github.com/articles/fork-a-repo/) this repo
3. [Clone](https://help.github.com/articles/cloning-a-repository/) your fork
4. Require the module (see `Usage` above) and get started!
If you get any failures at this point something is wrong and needs to be fixed. Remember,
[Google](https://google.com) and [StackOverflow](https://stackoverflow.com) are your friends.. :raised_hands:
## Contributing
If you'd like to play around with this library yourself please follow the steps below:
1. Clone the project from [Github](https://github.com/kevinrodrigues/array-helper) and `cd /your-path/array-helper-functions` folder
2. Run: `npm run setup` - This will run `npm install` & `npm run validate`: lint, build & test configurations for you ensuring everything is working as expected.
### Other
This library was developed by [me](https://github.com/kevinrodrigues) as a fun little project.