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