code: 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;
  }
docs: 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