So, I've never done this before, trying to add a method to the Array.prototype. See console.log statement below for usage. It keeps telling me the method is not defined. I can't figure out what I'm doing wrong. Help!
My best conclusion / guess so far is that "this" is referring to the global object, and that's screwing it up somehow. But how to fix that, no clue. :(
const solution = input =>{
  
  Object.defineProperty(
      Array.prototype, 'polyReverse', {
        value: () => this ? (polyReverse(this.substr(1)) + this[0]) : (this),
        configurable: true, writable: true  
      }
  );
  console.log("string".split("").polyReverse().join(""));
};
/*****
 * 
 * ReferenceError: polyReverse is not defined
 *   at Array.value (main.js on line 4:20)
 * 
 * 
 *///////
NOTE: I also tried this for the value of value..
value: () => this ? (this.substr(1).polyReverse() + this[0]) : (this),
and this ...
value: () => this ? (this.polyReverse(this.substr(1)) + this[0]) : (this),
with no luck
 
    