0.1.14 • Published 7 years ago

arrayq v0.1.14

Weekly downloads
5
License
MIT
Repository
github
Last release
7 years ago

node-arrayq

Array query methods for Node.js

Usage

npm install --save arrayq

TypeScript - Extending Array prototype

import 'arrayq';
[1, 2, 3, 4, 5].qIntersect([3, 4, 5, 6, 7]).qSame([3, 4, 5]) === true

TypeScript - Import

import { intersect, same } from 'arrayq/lib';
same(intersect([1, 2, 3, 4, 5], [3, 4, 5, 6, 7]), [3, 4, 5]) === true

ES6 - Extending Array prototype

require('arrayq/es6/prototype')
[1, 2, 3, 4, 5].qIntersect([3, 4, 5, 6, 7]).qSame([3, 4, 5]) === true

ES6 - Require

const { same, intersect } = require('arrayq/es6');
same(intersect([1, 2, 3, 4, 5], [3, 4, 5, 6, 7]), [3, 4, 5]) === true

Methods

Contains
Check whether the first array contains all items of the right.
[1, 2, 3, 4, 5].qContains([1, 3, 5]) returns true
[1, 2, 3, 4, 5].qContains([4, 5, 6]) returns false

Empty
Same as [].length === 0
[].qEmpty() returns true
[1].qEmpty() returns false

First
Returns first (matching) item.
[1, 2, 3, 4, 5].qFirst() returns 1
[1, 2, 3, 4, 5].qFirst(x => x%2 === 0) returns 2

Last
Returns last (matching) item.
[1, 2, 3, 4, 5].qLast() returns 5
[1, 2, 3, 4, 5].qLast(x => x%2 === 0) returns 4

Intersect
Returns intersection of items from both arrays.
[1, 2, 3, 4, 5].qIntersect([3, 4, 5, 6, 7]) returns [3, 4, 5]
[1, 2, 3].qIntersect([2, 4, 7], (l, r) => l === r/2) returns [1, 2]

Rotate
Rotates items using the specified offset.
[1, 2, 3, 4, 5].qRotate(1) returns [5, 1, 2, 3, 4]
[1, 2, 3, 4, 5].qRotate(-1) returns [2, 3, 4, 5, 1]

Same
Checks equality between two arrays (order is important).
[1, 2, 3].qSame([1, 2, 3]) returns true
[1, 2, 3].qSame([1, 2]) returns false
[1, 2, 3].qSame([2, 4, 6], (l, r) => l === r/2) returns true

0.1.14

7 years ago

0.1.13

7 years ago

0.1.12

7 years ago

0.1.11

7 years ago

0.1.10

7 years ago

0.1.9

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

1.0.0

7 years ago