is-array-index

1.1.0 • Public • Published

isArrayIndex

Utility for determining whether an input is a valid Array index.

Usage

Install the library:

npm install --save is-array-index

The module contains a single function, which takes a possible Array index as an argument and returns whether it is valid:

let isArrayIndex = require('is-array-index');
 
isArrayIndex(0);
// => true
 
isArrayIndex('1');
// => true
 
isArrayIndex('1.0');
// => false
 
isArrayIndex(0.5);
// => false

In some cases, it may make sense to allow for Array indices which exceed the maximum length of an array, but still satisfy the semantic requirements. This may be achieved by passing a second argument, a boolean indicating whether to unrestrict the theoretical length of an array. See the Phonewords library for an example.

const MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
 
isArrayIndex(MAX_ARRAY_LENGTH);
// => false
 
isArrayIndex(MAX_ARRAY_LENGTH, true);
// => true
 
isArrayIndex(Number.MAX_SAFE_INTEGER, true);
// => true

Proxy Example

A Proxy wrapped around an Array might need to distinguish between array indexing and the accessing of additional properties.

let proxy = new Proxy([], {
  get: function (target, property) {
    if (isArrayIndex(property)) {
      // execute additional processing
      return true;
    } else {
      return target[property];
    }
  },
});

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i is-array-index

    Weekly Downloads

    1

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    5.22 kB

    Total Files

    5

    Last publish

    Collaborators

    • itsnickbarry