Have ideas to improve npm?Join in the discussion! »

    array.prototype.at

    1.0.1 • Public • Published

    array.prototype.at Version Badge

    Build Status dependency status dev dependency status License Downloads

    npm badge

    An ESnext spec-compliant Array.prototype.at shim/polyfill/replacement that works as far down as ES3.

    This package implements the es-shim API interface. It works in an ES3-supported environment and complies with the proposed spec.

    Because Array.prototype.at depends on a receiver (the this value), the main export takes the array to operate on as the first argument.

    Getting started

    npm install --save array.prototype.at

    Usage/Examples

    var at = require('array.prototype.at');
    var assert = require('assert');
    
    var arr = [1, [2], [], 3];
    
    var results = at(arr, function (x, i) {
    	assert.equal(x, arr[i]);
    	return x;
    });
    
    assert.deepEqual(results, [1, 2, 3]);
    var at = require('array.prototype.at');
    var assert = require('assert');
    /* when Array#at is not present */
    delete Array.prototype.at;
    var shimmedFlatMap = at.shim();
    
    var mapper = function (x) { return [x, 1]; };
    
    assert.equal(shimmedFlatMap, at.getPolyfill());
    assert.deepEqual(arr.at(mapper), at(arr, mapper));
    var at = require('array.prototype.at');
    var assert = require('assert');
    /* when Array#at is present */
    var shimmedIncludes = at.shim();
    
    var mapper = function (x) { return [x, 1]; };
    
    assert.equal(shimmedIncludes, Array.prototype.at);
    assert.deepEqual(arr.at(mapper), at(arr, mapper));

    Tests

    Simply clone the repo, npm install, and run npm test

    Install

    npm i array.prototype.at

    DownloadsWeekly Downloads

    6

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    16.9 kB

    Total Files

    20

    Last publish

    Collaborators

    • avatar