Applying a delta to an object

Benchmark created on


Setup

var base = {
    a: 1,
    b: 2,
    c: 3,
    d: 4,
  };
  
  var delta = {
    a: 5,
    b: 6,
  };
  
  var keys = Object.keys(base);

Test runner

Ready to run.

Testing in
TestOps/sec
Object.assign
Object.assign(base, delta);
ready
Object.keys
Object.keys(base).forEach(function(key) {
  if (delta[key] !== undefined) {
    base[key] = delta[key];
  }
});
ready
Pre-computed keys
keys.forEach(function(key) {
  if (delta[key] !== undefined) {
    base[key] = delta[key];
  }
});
ready
Dot notation
if (delta.a !== undefined) base.a = delta.a;
if (delta.b !== undefined) base.b = delta.b;
if (delta.c !== undefined) base.c = delta.c;
if (delta.d !== undefined) base.d = delta.d;
ready

Revisions

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