_.contains vs .includes (v2)

Revision 2 of this benchmark created on


Preparation HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.13.6/underscore-min.js"></script>

Setup

const stringArray = [
	"ALPHA",
	"BRAVO",
	"CHARLIE",
	"DELTA",
	"ECHO",
	"FOXTROT",
	"GOLF",
	"HOTEL",
	"INDIA",
	"JULIET",
	"KILO",
	"LIMA",
	"MIKE",
	"NOVEMBER",
	"OSCAR",
	"PAPA",
	"QUEBEC",
	"ROMEO",
	"SIERRA",
	"TANGO",
	"UNIFORM",
	"VICTOR",
	"WHISKEY",
	"X-RAY",
	"YANKEE",
	"ZULU",
	"APPLE",
	"BANANA",
	"CHERRY",
	"DATE",
	"ELDERBERRY",
	"FIG",
	"GRAPE",
	"HONEYDEW",
	"KIWI",
	"LEMON",
	"MANGO",
	"NECTARINE",
	"ORANGE",
	"PEACH",
	"QUINCE",
	"RASPBERRY",
	"STRAWBERRY",
	"TANGERINE",
	"UGLI",
	"VOAVANGA",
	"WATERMELON",
	"XIGUA",
	"YELLOWPASSIONFRUIT",
	"ZUCCINI",
];
const valueToFindInStrings = "NOVEMBER"; // Exists
const valueToNotFindInStrings = "POTATO"; // Does not exist

const numberArray = [];
for (let i = 0; i < 50; i++) {
	numberArray.push(i * 3 + 1);
}
const valueToFindInNumbers = 46; // Exists (15*3 + 1)
const valueToNotFindInNumbers = 101; // Does not exist

Test runner

Ready to run.

Testing in
TestOps/sec
_.contains
_.contains(stringArray, valueToFindInStrings);
_.contains(stringArray, valueToNotFindInStrings);

_.contains(numberArray, valueToFindInNumbers);
_.contains(numberArray, valueToNotFindInNumbers);



ready
.includes
stringArray.includes(valueToFindInStrings);
stringArray.includes(valueToNotFindInStrings);

numberArray.includes(valueToFindInNumbers);
numberArray.includes(valueToNotFindInNumbers);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.