title: How to shuffle a NodeList
body: <p>Let's say I have a Nodelist:</p>
  
  <p><code>list = document.querySelectorAll('div');</code></p>
  
  <p>and I want to shuffle it. How would I do this?</p>
  
  <p>The only answer I came across, <a href="https://stackoverflow.com/questions/16973079/javascript-display-nodelist-in-random-order">here</a> suggests turning the nodelist into an <code>array</code> using </p>
  
  <p><code>var arr = [].concat(x);</code></p>
  
  <p>Similarly, the <a href="https://developer.mozilla.org/en-US/docs/Web/API/NodeList" rel="nofollow noreferrer">MDN</a> suggests the following (to turn a NodeList into an <code>array</code>):</p>
  
  <pre><code>var turnObjToArray = function(obj) {
    return [].map.call(obj, function(element) {
      return element;
    })
  };
  </code></pre>
  
  <p>My question is, is there no way to do this without turning a NodeList into an array? </p>
  
  <p>And, which of the above two methods is better?</p>
  
  <p>And, once you have turned a NodeList into an array, does anything change when you operate on certain members of the array? (I.e. does deleting one node from the array delete it from the NodeList)?</p>