diff options
Diffstat (limited to 'node_modules/core-js/modules/$.array-includes.js')
-rw-r--r-- | node_modules/core-js/modules/$.array-includes.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/$.array-includes.js b/node_modules/core-js/modules/$.array-includes.js new file mode 100644 index 000000000..9781fca73 --- /dev/null +++ b/node_modules/core-js/modules/$.array-includes.js @@ -0,0 +1,21 @@ +// 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; + } return !IS_INCLUDES && -1; + }; +};
\ No newline at end of file |