zvector/zcore — Issue #2: add excise function
Author: nickfargo
Created: 2012-01-13 18:43:54+00:00
State: open

```javascript
function excise ( deep, target ) {
var	args = Z.slice.call( arguments ),
i, key, value, obj,
delta = {};
deep === !!deep && args.shift();
target = args[0];
for ( i = args.length; --i; ) {
obj = args[i];
for ( key in obj ) if ( Z.hasOwn.call( value = obj[key] ) ) {
if ( deep && Z.isPlainObject( value ) ) {
delta[key] = excise( target[key], value );
} else if ( value != null ) {
delta[key] = target[key];
delete target[key];
}
}
}
return delta;
}
```