alien-node-list-utils
Version:
Helper functions for arrays on NodeJS
82 lines (50 loc) • 2.33 kB
Markdown
# alien-node-list-utils
Helper functions for arrays on NodeJS. The functions are pure and curried with Ramda.
[](https://travis-ci.org/AlienCreations/alien-node-list-utils) [](https://coveralls.io/github/AlienCreations/alien-node-list-utils?branch=master) [](https://npmjs.org/package/alien-node-list-utils) [](https://david-dm.org/AlienCreations/alien-node-list-utils)
## Install
```
$ npm install alien-node-list-utils --save
```
Run the specs
```
$ npm test
```
## Methods
#### filterOutItem
Given a list and an item, returns a copy of the list absent said item.
```js
var listUtils = require('alien-node-list-utils'),
list = ['a', 'b', 'c', 'd'];
listUtils.filterOutItem('b', list); // ['a', 'c', 'd']
```
#### filterOutObject
Given a key, value, and list, returns a copy of the list absent the object(s) which match said k/v pair.
```js
var listUtils = require('alien-node-list-utils'),
list = [{ foo : 'bar'}, {baz : 'bat'}, {buz : 'but'}];
listUtils.filterOutObject('baz', 'bat', list); // [{ foo : 'bar'}, {buz : 'but'}]
```
#### maybeDropLastItem
Given a qualifying drop length and a list, returns a new list who's last item is dropped if the list
length exceeds or equals provided drop length
```js
var listUtils = require('alien-node-list-utils'),
list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'],
list2 = ['x', 'y', 'z'];
listUtils.maybeDropLastItem(5, list1); // ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
listUtils.maybeDropLastItem(5, list2); // ['x', 'y', 'z']
```
#### sortAsc
Simple ascending sorter function
```js
var listUtils = require('alien-node-list-utils'),
list = ['b', 'd', 'a', 'c'];
listUtils.sortAsc(list1); // ['a', 'b', 'c', 'd']
```
#### sortDesc
Simple descending sorter function
```js
var listUtils = require('alien-node-list-utils'),
list = ['b', 'd', 'a', 'c'];
listUtils.sortDesc(list1); // ['d', 'c', 'b', 'a']
```