getMaxRandom

by Dhruvang Gajjar

HTML

<script src="https://rawgit.com/eu81273/jsfiddle-console/master/console.js"></script>

JavaScript

var aa = [9, 9, 9, 8, 7, 8, 6, 9, 4, 5, 8, 7];

var getRandom = function(arr, n) {
    var result = new Array(n),
        len = arr.length,
        taken = new Array(len);
    if (n > len)
        throw new RangeError("getRandom: more elements taken than available");
    while (n--) {
        var x = Math.floor(Math.random() * len);
        result[n] = arr[x in taken ? taken[x] : x];
        taken[x] = --len in taken ? taken[len] : len;
    }
    return result;
}


var getMaxRandom = function(arr) {
	var temp = [];
  var MaxN;
  MaxN = Math.max.apply(null, arr);
  arr.forEach(function(val, i) {
    if (val === MaxN) {
      temp.push(i);
    }
  });
  return temp;
  //return temp[Math.floor(Math.random()*temp.length)];
}

console.log(getRandom(getMaxRandom(aa),3));