hasObjectMoreThanNProperties (v3)

Revision 3 of this benchmark created on


Setup

function Foo(array) {
	for (i=0,len=array.length; i<len; i+=1) {
		this[`p${i}`] = array[i];
	}
}

for (i=0; i<10000; ++i) {
	Foo.prototype[`pp${i}`] = i;
}

const a = Array(6000);
a.fill(1);
const o = new Foo(a);

function hasObjectMoreThanNProperties(o, n) {
  let count = 0;
  for (const k in o) {
    if (!o.hasOwnProperty(k)) {
      continue;
    }
    count += 1;
    if (count > n) {
      return true;
    }
  }
  return false;
}

Test runner

Ready to run.

Testing in
TestOps/sec
Using loop - N = 100
hasObjectMoreThanNProperties(100)
ready
Using loop - N = 1000
hasObjectMoreThanNProperties(1000)
ready
Using loop - N = 10000
hasObjectMoreThanNProperties(10000)
ready
Using Object.keys
Object.keys(o).length
ready

Revisions

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