└── shine ├── readme.txt └── es.array.find-index.js /shine/readme.txt: -------------------------------------------------------------------------------- 1 | readme 2 | -------------------------------------------------------------------------------- /shine/es.array.find-index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var $ = require('../internals/export'); 3 | var $findIndex = require('../internals/array-iteration').findIndex; 4 | var addToUnscopables = require('../internals/add-to-unscopables'); 5 | 6 | var FIND_INDEX = 'findIndex'; 7 | var SKIPS_HOLES = true; 8 | 9 | // Shouldn't skip holes 10 | if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); 11 | 12 | // `Array.prototype.findIndex` method 13 | // https://tc39.es/ecma262/#sec-array.prototype.findindex 14 | $({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { 15 | findIndex: function findIndex(callbackfn /* , that = undefined */) { 16 | return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 17 | } 18 | }); 19 | 20 | // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 21 | addToUnscopables(FIND_INDEX); 22 | --------------------------------------------------------------------------------