merging ratbeard's patch for allowing multiple arguments to be passed to extend, with docs

This commit is contained in:
Jeremy Ashkenas
2010-03-05 15:29:32 -05:00
parent 4085b68be4
commit d69c5ae83b
2 changed files with 7 additions and 7 deletions

View File

@@ -748,10 +748,11 @@ _.functions(_);
</pre>
<p id="extend">
<b class="header">extend</b><code>_.extend(destination, source)</code>
<b class="header">extend</b><code>_.extend(destination, *sources)</code>
<br />
Copy all of the properties in the <b>source</b> object over to the
<b>destination</b> object.
Copy all of the properties in the <b>source</b> objects over to the
<b>destination</b> object. It's in-order, to the last source will override
properties of the same name in previous arguments.
</p>
<pre>
_.extend({name : 'moe'}, {age : 50});

View File

@@ -432,11 +432,10 @@
return _.filter(_.keys(obj), function(key){ return _.isFunction(obj[key]); }).sort();
};
// Extend a given object with all the properties in given object(s)
// Extend a given object with all the properties in passed-in object(s).
_.extend = function(obj) {
var prop;
each(_.rest(arguments), function (source) {
for (prop in source) obj[prop] = source[prop];
each(_.rest(arguments), function(source) {
for (var prop in source) obj[prop] = source[prop];
});
return obj;
};