title: Better way to assign unique numbers to 2D Array
body: <p>My goal is to create a 2D Array, and assign a unique number from 0 to n for each in Javascript. </p>
  
  <p>For example, if there is 5 rows and 5 cols, I first make an array of values containing the numbers from 0 to 24. I then want to shuffle those numbers and then if the number is less than 10, place a 'Y' for that spot in the Array or a 'N' if it's greater than or equal to 10. The end result should be 15 N's and 10 Y's randomly located.</p>
  
  <p>I have the following code that does that, but I find it really inefficient and was wondering if there was a better way of doing it.</p>
  
  <pre><code>//Define Empty Array
  test = new Array(rows);
  
  for (var k = 0; k &lt; rows; k++)
  {
      test[k] = Array(cols);
  }
  
  
  var values = [];
  var index = 0;
  var maxVals = (rows * cols);
  
  //If maxVals is equal to 25, then the values array will hold "1,2,3,4, ... 24,25"
  while(values.push(index++)&lt;maxVals);
  
  //Shuffle all those values so they're no longer in order
  var shuffledValues = _.shuffle(values);
  
  
  var i = 0;
  var smallerThan = 10;
  
  for (var x = 0; x &lt; rows; x++)
  {
      for (var y = 0; y &lt; cols; y++)
      {
  
          //Make all the numbers smaller than 10 a Y
          if (shuffledValues[i] &lt; smallerThan)
          {
              test[x][y] = "Y";
          }
          else
          {
              test[x][y] = "N";
          }
  
          i++;
      }
  }
  </code></pre>