object in vs array some/w includes vs array some/w indexOf (v2)

Revision 2 of this benchmark created on


Setup

let datas = [];
for(i=0; i<30000; i++){
	if (i % 5 === 0) {
		datas[i] = { hoge: i+1 };		
	} else {
		datas[i] = {uuid: i+1, major: i+1, minor: i+1 };
	}
};

Test runner

Ready to run.

Testing in
TestOps/sec
object in
const keys = ['uuid', 'major', 'minor'];
let conts = 0;
for (const data of datas) {
	for (const key of keys) {
		if (!(key in data)) {
			count++;
		}
	}
}
ready
array some/w includes
const keys = ['uuid', 'major', 'minor'];
let conts = 0;
for (const data of datas) {
	const dataKeys = Object.keys(data);
	if (dataKeys.some(k=> keys.includes(k))) {
		count++;
	}
}
ready
array some/w indexOf
const keys = ['uuid', 'major', 'minor'];
let conts = 0;
for (const data of datas) {
	const dataKeys = Object.keys(data);
	if (dataKeys.some(k=> keys.indexOf(k) !== -1)) {
		count++;
	}
}
ready

Revisions

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