Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9312651
array-includes.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
array-includes.js
View Options
var
toIndexedObject
=
require
(
'../internals/to-indexed-object'
);
var
toAbsoluteIndex
=
require
(
'../internals/to-absolute-index'
);
var
lengthOfArrayLike
=
require
(
'../internals/length-of-array-like'
);
// `Array.prototype.{ indexOf, includes }` methods implementation
var
createMethod
=
function
(
IS_INCLUDES
)
{
return
function
(
$this
,
el
,
fromIndex
)
{
var
O
=
toIndexedObject
(
$this
);
var
length
=
lengthOfArrayLike
(
O
);
var
index
=
toAbsoluteIndex
(
fromIndex
,
length
);
var
value
;
// Array#includes uses SameValueZero equality algorithm
// eslint-disable-next-line no-self-compare -- NaN check
if
(
IS_INCLUDES
&&
el
!=
el
)
while
(
length
>
index
)
{
value
=
O
[
index
++
];
// eslint-disable-next-line no-self-compare -- NaN check
if
(
value
!=
value
)
return
true
;
// Array#indexOf ignores holes, Array#includes - not
}
else
for
(;
length
>
index
;
index
++
)
{
if
((
IS_INCLUDES
||
index
in
O
)
&&
O
[
index
]
===
el
)
return
IS_INCLUDES
||
index
||
0
;
}
return
!
IS_INCLUDES
&&
-
1
;
};
};
module
.
exports
=
{
// `Array.prototype.includes` method
// https://tc39.es/ecma262/#sec-array.prototype.includes
includes
:
createMethod
(
true
),
// `Array.prototype.indexOf` method
// https://tc39.es/ecma262/#sec-array.prototype.indexof
indexOf
:
createMethod
(
false
)
};
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Jul 3, 11:01 AM (1 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3428803
Attached To
rDWAPPS Web applications
Event Timeline
Log In to Comment