title: Javascript: Overwrite ONLY existing fields in one object with the fields in another
body: <p>Is there a way in javascript 
  to assign values of named fields in an object to the same fields of another object, if and only if the target field exists. I.e. overwrite old values, NOT adding new values, using ideomatic constructs, one-liners (special for javascript and/or jQuery) and in no way loops, even for-in.</p>
  
  <pre><code>var theSource = {
   field1: "TEXT",
   field2: "VAL",
   field3: "ZZ",
   field4: "4",
   field5: "5"
  },
  theTarget = {
   field2: "0",
   field3: "",
   field4: null,
   field5: undefined
  };
  </code></pre>
  
  <p>Something like</p>
  
  <pre><code>var result = jQuery.overwriteOnlyExisting(theTarget, theSource);
  result === {
   field2: "VAL"
   field3: "ZZ"
  ... 
  }
  </code></pre>
  
  <p>NO field1 AND old fields after field3 are preserved.</p>
  
  <p><code>jQuery.extend</code> - can overwrite values, but it copies new fields as well.</p>
  
  <p>Which options do we have here?</p>
  
  <p><a href="http://jsbin.com/owivat/1/edit">http://jsbin.com/owivat/1/edit</a> (underscore) - I like this, now the time to find the jquery way.</p>
  
  <p>Results:</p>
  
  <pre><code>_.extend(theTarget, _(theSource).pick(_(theTarget).keys()));
  </code></pre>
  
  <p>142,850 Ops/sec</p>
  
  <pre><code>Object.keys(theTarget).map(function(a) { if (a in theSource) theTarget[a] = theSource[a]; });
  </code></pre>
  
  <p>403,243 Ops/sec</p>