title: Why iteration over array shows my custom prototype functions as items?
body: <p>Why creating custom <code>prototype</code> functions like:</p>
  <pre><code>Array.prototype.clone = function(){
      return JSON.parse(JSON.stringify(this));
  }
  </code></pre>
  <p>is making them visible when iterating over a <code>for</code> loop?</p>
  <p>For example:
  <a href="https://i.stack.imgur.com/GH0ld.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/GH0ld.png" alt="enter image description here" /></a></p>
  <p>It's clear that I have an <code>array</code> with 7 <code>arrays</code> inside, but for some reason it is considering all my custom functions when inside the loop. Why? How can I prevent it?</p>
  <p><strong>OBS:</strong> I am applying to some sort of javascript contest, which takes my algorithm and plays against other players. This loop, is inside the runner, so please consider that changing the way the iterations are processed is not an option.</p>
  <p>This is breaking the runner as it tries to execute some code with the columns thinking that my custom function are included on it.</p>
  <p>However, looking at their code, I noticed that it is possible to prevent this from happening as they also edit/create <code>Array.prototype</code> functions.</p>