An ESnext spec-compliant Array.prototype.findLast shim/polyfill/replacement that works as far down as ES3.
- Types
- ESM
- CJS
- License
- MIT
- Install Size
- 29.1 kB(4.7 MB)
- Vulns
- 0
- Published
$
npm install array.prototype.findlast$
pnpm add array.prototype.findlast$
yarn add array.prototype.findlast$
bun add array.prototype.findlast$
deno add npm:array.prototype.findlast$
vlt install array.prototype.findlast$
vp add array.prototype.findlastYou might not need this dependency.
This package can be replaced with Array.prototype.findLast, available since Node 18.0.0.Learn more
array.prototype.findlast 
An ESnext spec-compliant Array.prototype.findLast 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.findLast 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.findlast
Usage/Examples
var findLast = require('array.prototype.findlast');
var assert = require('assert');
var arr = [1, [2], [], 3, [[4]]];
var isNumber = function (x) { return typeof x === 'number' };
assert.deepEqual(findLast(arr, isNumber), 3);
var findLast = require('array.prototype.findlast');
var assert = require('assert');
/* when Array#findLast is not present */
delete Array.prototype.findLast;
var shimmed = findLast.shim();
assert.equal(shimmed, findLast.getPolyfill());
assert.deepEqual(arr.findLast(isNumber), findLast(arr, isNumber));
var findLast = require('array.prototype.findlast');
var assert = require('assert');
/* when Array#findLast is present */
var shimmed = findLast.shim();
assert.equal(shimmed, Array.prototype.findLast);
assert.deepEqual(arr.findLast(isNumber), findLast(arr, isNumber));
Tests
Simply clone the repo, npm install, and run npm test
