@cowprotocol/cow-sdk
Version:
<p align="center"> <img width="400" src="https://github.com/cowprotocol/cow-sdk/raw/main/docs/images/CoW.png" /> </p>
73 lines (48 loc) • 1.02 kB
Markdown
# sparse-array
[](https://travis-ci.org/pgte/js-sparse-array)
Sparse array implementation in JS with no dependencies
## Install
```bash
$ npm install sparse-array --save
```
## Use
### Create:
```js
const SparseArray = require('sparse-array')
const arr = new SparseArray()
```
### Set, get and unset:
```js
const index = 0
arr.set(index, 'value')
arr.get(index) // 'value'
arr.unset(index)
arr.get(index) // undefined
```
### Iterate:
```js
arr.forEach((elem, index) => {
console.log('elem: %j at %d', elem, index)
})
const mapped = arr.map((elem, index) => {
return elem + 1
})
const result = arr.reduce((acc, elem, index) => {
return acc + Number(elem)
}, 0)
```
### Find:
```js
const firstEven = arr.find((elem) => (elem % 2) === 0)
```
### Internal representation:
#### Bit field:
```js
const bitField = arr.bitField()
```
#### Compact array:
```js
const compacted = arr.compactArray()
```
## License
ISC