<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
var array = [ '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', 'banana', 'sausage', 'jesus', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana','1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana', '1banana']
array.includes('sausage')
_.includes(array, 'sausage')
--enable-precise-memory-info
flag.
Test case name | Result |
---|---|
Includes | |
lodash |
Test name | Executions per second |
---|---|
Includes | 9170635.0 Ops/sec |
lodash | 1316961.9 Ops/sec |
I'd be happy to help explain the provided benchmark.
Benchmark Overview
The benchmark measures the performance of three different methods for checking if an element is present in an array:
array.includes()
: A built-in JavaScript method that checks if an element is included in an array..includes()
(with dot notation): This method is also part of the Array prototype, but uses a dot notation instead of bracket notation like array[...]
.lodash.includes(array, 'sausage')
: A method from the popular JavaScript utility library Lodash that checks if an element is included in an array.Options Compared
The benchmark compares the performance of these three methods on two aspects:
Pros and Cons of Each Method
Here's a brief analysis of each method:
array.includes()
:.includes()
(with dot notation):array.includes()
, but with a different syntax.lodash.includes(array, 'sausage')
:Library Used
In this benchmark, the lodash
library is used to implement the _.includes()
method. Lodash is a JavaScript library that provides a collection of high-quality, reusable functions for tasks such as array manipulation, string manipulation, and more.
Special JS Feature or Syntax
This benchmark uses some special features of JavaScript:
.includes()
method uses dot notation to access an object's properties. This is not typically seen in everyday JavaScript code, but is used here for demonstration purposes.Other Alternatives
If you're looking for alternative methods to check if an element is present in an array, some other options include:
indexOf()
with the -1
return value (e.g., array.indexOf('sausage') === -1
)forEach()
methodarray.includes('sausage')
can be implemented using bitwise operations, but this is not typically seen in everyday JavaScript code)I hope this explanation helps! Let me know if you have any further questions.