@igor.dvlpr/uarray

πŸŽ‰ Provides UArray, an Array type that supports negative indices/indexes, just wrap your regular JavaScript array with UArray() and you are all set! πŸ™Œ

Usage no npm install needed!

<script type="module">
  import igorDvlprUarray from 'https://cdn.skypack.dev/@igor.dvlpr/uarray';
</script>

README

πŸŽ‰ UArray πŸ™Œ


Provides UArray, an Array type that supports negative indices/indexes, just wrap your regular JavaScript array with UArray() or pass the elements directly to UArray() and you are all set! πŸŽ‰πŸ™Œ


⚠ Uses the built-in Proxy object, check browser compatibility on the Can I Use website.

✨Since version 1.2.0 UArray is a hybrid module that supports both CommonJS (legacy) and ES modules, thanks to Modern Module.


πŸ“’ This is the npm version of this project, if you are looking for the vanilla JavaScript version, check this.


Usage


β„Ή Works like negative indices in other languages, e.g. -1 picks that last element, -2, the second to last, etc.


✨ Since v.1.1.0 the function signature has been changed and now it supports 2 different ways of action. You can now pass a single parameter of type Array or multiple parameters of any primitive type.


Install it first by doing,

npm i "@igor.dvlpr/uarray"

and then use it,


const UArray = require('@igor.dvlpr/uarray')
const food = UArray(['🍟', '🌭', '🍿', 'πŸ₯™', 'πŸ₯“']) // array passed
const objects = UArray('🎈', '🎩', '⚽', 'πŸ₯‡', '🎯') // no array passed, just direct values

console.log(food[-1]) // prints 'πŸ₯“'
console.log(food[-3]) // prints '🍿'

console.log(objects[-1]) // prints '🎯'
console.log(objects[-3]) // prints '⚽'

πŸŽ‰ Happy coding! πŸ™Œ