# @writetome51/array-get-indexes

> array-handling functions that return indexes of items in the array

Latest version **1.0.2** (published 2019-04-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install @writetome51/array-get-indexes
pnpm add @writetome51/array-get-indexes
yarn add @writetome51/array-get-indexes
bun add @writetome51/array-get-indexes
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2019-04-10 |
| First published | 2019-02-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 9 |
| Unpacked size | 32.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Steve Thompson |
| Maintainers | writetome51 |
| Keywords | array, search, get, find, index, indexes, data |

## Links

- npm: https://www.npmjs.com/package/@writetome51/array-get-indexes
- Repository: https://github.com/writetome51/array-get-indexes
- Homepage: https://github.com/writetome51/array-get-indexes#readme
- Issues: https://github.com/writetome51/array-get-indexes/issues
- npm.io page: https://npm.io/package/@writetome51/array-get-indexes

## Dependencies (9)

- [error-if-not-array](https://npm.io/package/error-if-not-array.md) ~1.0.0
- [error-if-not-integer](https://npm.io/package/error-if-not-integer.md) ~1.0.0
- [error-if-not-function](https://npm.io/package/error-if-not-function.md) ~1.0.0
- [error-if-not-primitive](https://npm.io/package/error-if-not-primitive.md) ~1.0.0
- [@writetome51/arrays-match](https://npm.io/package/@writetome51/arrays-match.md) ~1.0.5
- [@writetome51/array-get-copy](https://npm.io/package/@writetome51/array-get-copy.md) ~1.1.2
- [error-if-not-populated-array](https://npm.io/package/error-if-not-populated-array.md) ~1.0.1
- [@writetome51/is-array-not-array](https://npm.io/package/@writetome51/is-array-not-array.md) ~1.0.0
- [error-if-not-primitive-or-array](https://npm.io/package/error-if-not-primitive-or-array.md) ~1.0.2

## Alternatives

- [gamedig](https://npm.io/package/gamedig.md) — 29.3K weekly downloads
- [join-monster](https://npm.io/package/join-monster.md) — 12.8K weekly downloads
- [masked](https://npm.io/package/masked.md) — 5.5K weekly downloads
- [@comunica/actor-query-process-explain-logical](https://npm.io/package/@comunica/actor-query-process-explain-logical.md) — 4.7K weekly downloads
- [@veracity/vui](https://npm.io/package/@veracity/vui.md) — 4.6K weekly downloads

## Recent versions

- 1.0.2 (latest) — 2019-04-10
- 1.0.1 — 2019-03-20
- 1.0.0 — 2019-02-24

## README

# getFirstIndexOf(value, array): number

Returns index of first instance of `value` found in `array`.  
`value` can be a primitive or array .  Returns -1 if `value` not found.


# getLastIndexOf(value, array): number

Returns index of last instance of `value` found in `array`.  
`value` can be a primitive or array.  Returns -1 if `value` not found.


# getIndexOfPrimitive(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;primitive,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;startingPosition? = 0<br>): number

Behaves like `Array.indexOf()`, except it does strict type-checking on `primitive`.  
Change `startingPosition` to get something other than the first index.  
`startingPosition` can also be negative to search from the end.  
Returns -1 if `primitive` not found.


# getIndexesOf(value, array): number[]

Returns all indexes of `value` in `array`.  
`value` can be a primitive or array. 


# getIndexesThatPass(testFunction, array): number[]

This returns all indexes of array items that pass the `testFunction`.  
`testFunction = function(currentValue, currentIndex?, theArray?): boolean`
```
Example:

let arr = ['a', 'boy', 'is', 'playing', 'in', 'the', 'street'];

let stringsLongerThanThree = getIndexesThatPass((value) => value.length > 3,  arr);
// stringsLongerThanThree is now [3, 6]
```

## Installation
`npm i  @writetome51/array-get-indexes`


## Loading
```
// if using TypeScript:
import {getFirstIndexOf, getLastIndexOf, getIndexOfPrimitive, getIndexesOf, getIndexesThatPass} 
    from '@writetome51/array-get-indexes'
    
// if using ES5 JavaScript:
var getFirstIndexOf = require('@writetome51/array-get-indexes').getFirstIndexOf;
var getLastIndexOf = require('@writetome51/array-get-indexes').getLastIndexOf;
var getIndexOfPrimitive = require('@writetome51/array-get-indexes').getIndexOfPrimitive;
var getIndexesOf = require('@writetome51/array-get-indexes').getIndexesOf;
var getIndexesThatPass = require('@writetome51/array-get-indexes').getIndexesThatPass;
```

---
_Source: https://npm.io/package/@writetome51/array-get-indexes · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
