index.js
function objFiltered(filter, thisArg) {
    const dst = isArray(this) ? [] : {};
    copyFiltered.call(dst, this, filter, thisArg);
    return dst;
}
function objFiltered(filter, thisArg) {
    const dst = isArray(this) ? [] : {};
    copyFiltered.call(dst, this, filter, thisArg);
    return dst;
}
function objFiltered ( filter , thisArg ) { const dst = isArray ( this ) ? [ ] : { } ; copyFiltered . call ( dst , this , filter , thisArg ) ; return dst ; }
filter function applied to objects and array's own properties not just indexed contents
results in object or array

@this        array or object
@param filter  see copyFiltered
@param thisArg if filter is function then what to use for this
@return {object|array} depending on this passed on call
filter function applied to objects and array s own properties not just indexed contents results in object or array