1 | 'use strict';
|
2 |
|
3 | var $ = require('../internals/export');
|
4 | var uncurryThis = require('../internals/function-uncurry-this-clause');
|
5 | var $indexOf = require('../internals/array-includes').indexOf;
|
6 | var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
7 |
|
8 | var nativeIndexOf = uncurryThis([].indexOf);
|
9 |
|
10 | var NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0;
|
11 | var FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf');
|
12 |
|
13 |
|
14 |
|
15 | $({ target: 'Array', proto: true, forced: FORCED }, {
|
16 | indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
|
17 | var fromIndex = arguments.length > 1 ? arguments[1] : undefined;
|
18 | return NEGATIVE_ZERO
|
19 |
|
20 | ? nativeIndexOf(this, searchElement, fromIndex) || 0
|
21 | : $indexOf(this, searchElement, fromIndex);
|
22 | }
|
23 | });
|