index.js
function objMap(callback, thisArg = UNDEFINED) {
    const dst = [];
    each.call(this, (value, key, src) => {
        const result = callback.call(thisArg, value, key, src);
        if (result === BREAK) return BREAK;
        if (result !== UNDEFINED) {
            dst.push(result);
        }
    });
    return dst;
}
function objMap(callback, thisArg = UNDEFINED) {
    const dst = [];
    each.call(this, (value, key, src) => {
        const result = callback.call(thisArg, value, key, src);
        if (result === BREAK) return BREAK;
        if (result !== UNDEFINED) {
            dst.push(result);
        }
    });
    return dst;
}
function objMap ( callback , thisArg = UNDEFINED ) { const dst = [ ] ; each . call ( this , ( value , key , src ) => { const result = callback . call ( thisArg , value , key , src ) ; if ( result === BREAK ) return BREAK ; if ( result !== UNDEFINED ) { dst . push ( result ) ; } } ) ; return dst ; }
map function applied to objects and array's own properties not just indexed contents
results accumulated in an array

@this        array or object
@param callback function taking (value, key, collection) and returning value to accumulate,
undefined is skipped, BREAK will break out of loop, returned BREAK value ignored
@param thisArg what to use for this for callback
@return {array} depending on this passed on call
map function applied to objects and array s own properties not just indexed contents results accumulated in an array