title: Javascript: Random Element From Array, Do While
body: <p>I have a button that displays a quote and author from an array. I need the button to display a new quote/author each time the button is clicked. No two same quotes/authors in a row!</p>
  
  <pre><code>window.onload = function()
  {
      //assign var to quoteText id contents
      var quoteSpan = document.getElementById("quoteText");
  
      //assign var to authorText id contents
      var authorSpan = document.getElementById("authorText");
  
      var oldQuoteIndex = -1;
      var submitButton = document.getElementById('submit');
  
      var quotes = [
          {'text': 'I like milk!', 'author': '-Biff'}, 
          {'text': 'Milk is nasty.', 'author': '-Jonn'}, 
          {'text': 'What do you mean?', 'author': '-Jay'}, 
          {'text': 'Milk. Mmm.', 'author': '-Don'}, 
          {'text': 'Milk is bad.', 'author': '-Denny'}
      ];  
  
      //function determining random quote
      function nextQuote() {
  
          do
          {
              //picks random quote from quotes arraw
              var newQuoteIndex = Math.floor(Math.random() * quotes.length);
  
          } while (newQuoteIndex == oldQuoteIndex); //while index of newly chosen quote is the same as the index of old quote
          quoteSpan.innerHTML = quotes[newQuoteIndex].text; //while HTML's quoteText has random quote
          authorSpan.innerHTML = quotes[newQuoteIndex].author; //while HTML's authorText has random author
          var oldQuoteIndex = newQuoteIndex; //while old index is same as new index
      }
  
      //when button is clicked, quotation function starts
      submitButton.onclick = nextQuote;
  
  }
  </code></pre>