Array.filter (v8)

Revision 8 of this benchmark created on


Setup

var arrayToFilter = [1, 2, 3, undefined, 4, null, 10, -1, "a"]

Test runner

Ready to run.

Testing in
TestOps/sec
.filter((v) => v)
arrayToFilter.filter((v) => v)
ready
.filter(Boolean)
arrayToFilter.filter(Boolean)
ready
for of loop
const output = []
for (const el of arrayToFilter) {
	if (!el) continue;
	
	output.push(el);
}
ready
for loop
const output = []
for (let i = 0; i < arrayToFilter.length; ++i) {
	const el = arrayToFilter[i];
	if (!el) continue;
	
	output.push(el);
}
ready
for loop var
const output = []
var i = 0;
for (i = 0; i < arrayToFilter.length; ++i) {
	const el = arrayToFilter[i];
	if (!el) continue;
	
	output.push(el);
}
ready
arrayToFilter.map().filter((v) => v)
arrayToFilter.map((v) => v).filter((v) => v)
ready
arrayToFilter.map().filter(Boolean)
arrayToFilter.map((v) => v).filter(Boolean)
ready

Revisions

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