包详细信息

array.prototype.indexof

es-shims14.7kMIT1.0.8

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

Array.prototype.indexOf, indexOf, array, ES5

自述文件

array.prototype.indexof Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

An ES2015 spec-compliant Array.prototype.indexof 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 spec.

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

Example

var indexOf = require('array.prototype.indexof');
var assert = require('assert');

assert.equal(indexOf([1, 2, 3], 2), 1);
assert.equal(indexOf([1, 0, 1], 1), 0);
assert.equal(indexOf([1, 2, 3], 4), -1);
assert.equal(indexOf([NaN], NaN), -1);
var indexOf = require('array.prototype.indexof');
var assert = require('assert');
/* when Array#indexOf is not present */
delete Array.prototype.indexOf;
var shimmedMap = indexOf.shim();
assert.equal(shimmedMap, indexOf.getPolyfill());
assert.equal([1, 2, 3].indexOf(2), 1);
assert.equal([1, 0, 1].indexOf(1), 0);
assert.equal([1, 2, 3].indexOf(4), -1);
assert.equal([NaN].indexOf(NaN), -1);
var indexOf = require('array.prototype.indexof');
var assert = require('assert');
/* when Array#indexOf is present */
var shimmedMap = indexOf.shim();
assert.equal(shimmedMap, Array.prototype.indexOf);
assert.equal([1, 2, 3].indexOf(2), 1);

Tests

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