Version 1
[yaffs-website] / node_modules / core-js / modules / _array-includes.js
1 // false -> Array#indexOf
2 // true  -> Array#includes
3 var toIObject = require('./_to-iobject')
4   , toLength  = require('./_to-length')
5   , toIndex   = require('./_to-index');
6 module.exports = function(IS_INCLUDES){
7   return function($this, el, fromIndex){
8     var O      = toIObject($this)
9       , length = toLength(O.length)
10       , index  = toIndex(fromIndex, length)
11       , value;
12     // Array#includes uses SameValueZero equality algorithm
13     if(IS_INCLUDES && el != el)while(length > index){
14       value = O[index++];
15       if(value != value)return true;
16     // Array#toIndex ignores holes, Array#includes - not
17     } else for(;length > index; index++)if(IS_INCLUDES || index in O){
18       if(O[index] === el)return IS_INCLUDES || index || 0;
19     } return !IS_INCLUDES && -1;
20   };
21 };