2.2.10 • Published 5 years ago
extra-lists.min v2.2.10
Lists is a pair of key list and value list, with unique keys. :package: NPM, :smiley_cat: GitHub, :running: RunKit, :vhs: Asciinema, :moon: Minified, :scroll: Files, :newspaper: JSDoc, :blue_book: Wiki.
All functions except from*() take lists as 1st parameter. Lists are an
an alternative to entries, represented as a pair of keys, values. Unless
entries are implemented as structs by v8, lists should be more efficient.
Methods as separate packages:
@extra-lists/find: use rollup to bundle this es module.@extra-lists/find.min: use in browser (browserify, uglify-js).
Stability: Experimental.
This is browserified, minified version of extra-lists. It is exported as global variable lists. CDN: unpkg, jsDelivr.
const lists = require('extra-lists');
// import * as lists from 'extra-lists';
// import * as lists from 'https://unpkg.com/extra-lists@2.2.2/index.mjs'; (deno)
var x = [['a', 'b', 'c', 'd', 'e'], [1, 2, 3, 4, 5]];
lists.filter(x, v => v % 2 === 1);
// [ [ 'a', 'c', 'e' ], [ 1, 3, 5 ] ]
var x = [['a', 'b', 'c', 'd'], [1, 2, -3, -4]];
lists.some(x, v => v > 10);
// false
var x = [['a', 'b', 'c', 'd'], [1, 2, -3, -4]];
lists.min(x);
// [ 'd', -4 ]
var x = [['a', 'b', 'c'], [1, 2, 3]];
[...lists.subsets(x)].map(a => [[...a[0]], [...a[1]]]);
// [
// [ [], [] ],
// [ [ 'a' ], [ 1 ] ],
// [ [ 'b' ], [ 2 ] ],
// [ [ 'a', 'b' ], [ 1, 2 ] ],
// [ [ 'c' ], [ 3 ] ],
// [ [ 'a', 'c' ], [ 1, 3 ] ],
// [ [ 'b', 'c' ], [ 2, 3 ] ],
// [ [ 'a', 'b', 'c' ], [ 1, 2, 3 ] ]
// ]Index
| Method | Action |
|---|---|
| is | Checks if value is lists. |
| get | Gets value at key. |
| set | Sets value at key. |
| remove | Deletes an entry. |
| swap | Exchanges two values. |
| size | Gets size of lists. |
| head | Gets first entry. |
| take | Keeps first n entries only. |
| shift | Removes first entry. |
| fromEntries | Creates lists from entries. |
| concat | Appends entries from all lists. |
| flat | Flattens nested lists to given depth. |
| chunk | Breaks lists into chunks of given size. |
| filterAt | Gets lists with given keys. |
| map | Updates values based on map function. |
| filter | Keeps entries which pass a test. |
| reduce | Reduces values to a single value. |
| range | Finds smallest and largest entries. |
| count | Counts values which satisfy a test. |
| partition | Segregates values by test result. |
| cartesianProduct | Lists cartesian product of lists. |
| some | Checks if any value satisfies a test. |
| zip | Combines matching entries from all lists. |
| union | Gives lists present in any lists. |
| intersection | Gives entries present in both lists. |
| difference | Gives entries of lists not present in another. |
| symmetricDifference | Gives entries not present in both lists. |
| isDisjoint | Checks if lists have no common keys. |
| key | Picks an arbitrary key. |
| value | Picks an arbitrary value. |
| entry | Picks an arbitrary entry. |
| subset | Picks an arbitrary submap. |
| isEmpty | Checks if lists is empty. |
| isEqual | Checks if two lists are equal. |
| compare | Compares two lists. |
| find | Finds a value passing a test. |
| search | Finds key of an entry passing a test. |
| scanWhile | Finds key of first entry not passing a test. |
