@supercharge/arrays

Array utilities for Node.js and JavaScript

Usage no npm install needed!

<script type="module">
  import superchargeArrays from 'https://cdn.skypack.dev/@supercharge/arrays';
</script>

README



Arrays

Array utilities for JavaScript and Node.js


Installation · Docs · Usage



Latest Version Monthly downloads

Follow @marcuspoehls and @superchargejs for updates!


Introduction

The @supercharge/arrays package provides chainable array utilities for Node.js and JavaScript. It’s a wrapper around JavaScript arrays providing useful methods like .isEmpty(), .length(), .flatMap(), .contains(), and many more.

Installation

npm i @supercharge/arrays

Docs

Find all the details for @supercharge/arrays in the extensive Supercharge docs.

Usage

Using @supercharge/arrays is pretty straightforward. The package exports a function wrapping an array or individual items as an argument. You can then fluently chain methods interacting with your data:

const { Arr } = require('@supercharge/arrays')

const users = Arr.from([])

users.isEmpty()
// true

users
  .push({ id: 1, name: 'Marcus' })
  .push({ id: 2, name: 'Norman' })
  .push({ id: 3, name: 'Christian' })

users.isNotEmpty()
// true

users.length()
// 3

const usernamesArray = users
  .map(user => user.name)
  .toArray()
// [ 'Marcus', 'Norman', 'Christian' ]

const marcus = users.find(user => {
  return user.name === 'Marcus'
})
// { id: 1, name: 'Marcus' }

Every method in the chain returns a @supercharge/array instance. This way, you can chain further methods without leaving the fluent interface. Call .all() to retrieve the plain JavaScript array.

Contributing

Do you miss a function? We very much appreciate your contribution! Please send in a pull request 😊

  1. Create a fork
  2. Create your feature branch: git checkout -b my-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request 🚀

License

MIT © Supercharge


superchargejs.com  ·  GitHub @supercharge  ·  Twitter @superchargejs