2017-06-08_509bba0/509bba0_unpacked_with_node_modules/~/core-js/modules/_array-includes.js
2022-07-26 10:06:20 -07:00

28 lines
No EOL
909 B
JavaScript
Executable file

// false -> Array#indexOf
// true -> Array#includes
var toIObject = require('./_to-iobject')
, toLength = require('./_to-length')
, toIndex = require('./_to-index');
module.exports = function(IS_INCLUDES){
return function($this, el, fromIndex){
var O = toIObject($this)
, length = toLength(O.length)
, index = toIndex(fromIndex, length)
, value;
// Array#includes uses SameValueZero equality algorithm
if(IS_INCLUDES && el != el)while(length > index){
value = O[index++];
if(value != value)return true;
// Array#toIndex 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;
};
};
//////////////////
// WEBPACK FOOTER
// ./~/core-js/modules/_array-includes.js
// module id = 400
// module chunks = 4