Show More
Commit Description:
merge
Commit Description:
merge
References:
File last commit:
Show/Diff file:
Action:
node_modules/core-js/modules/_array-includes.js
| 23 lines
| 924 B
| application/javascript
| JavascriptLexer
|
r789 | // false -> Array#indexOf | |||
// true -> Array#includes | ||||
var toIObject = require('./_to-iobject'); | ||||
var toLength = require('./_to-length'); | ||||
var toAbsoluteIndex = require('./_to-absolute-index'); | ||||
module.exports = function (IS_INCLUDES) { | ||||
return function ($this, el, fromIndex) { | ||||
var O = toIObject($this); | ||||
var length = toLength(O.length); | ||||
var index = toAbsoluteIndex(fromIndex, length); | ||||
var value; | ||||
// Array#includes uses SameValueZero equality algorithm | ||||
// eslint-disable-next-line no-self-compare | ||||
if (IS_INCLUDES && el != el) while (length > index) { | ||||
value = O[index++]; | ||||
// eslint-disable-next-line no-self-compare | ||||
if (value != value) return true; | ||||
// Array#indexOf ignores holes, Array#includes - not | ||||
} else for (;length > index; index++) if (IS_INCLUDES || index in O) { | ||||
if (O[index] === el) return IS_INCLUDES || index || 0; | ||||
} return !IS_INCLUDES && -1; | ||||
}; | ||||
}; | ||||