I want to use Javascript to select of random numbers between a certain range:
I want it to choose:
- 25% of random numbers between 10 to 20
- 25% of random numbers between 100 to 150
- 25% of random numbers between 300 to 400
- 25% of random numbers between 450 to 475
So my results may be:
- 5
- 125
- 375
- 475
IE a random integer from each range.
Currently, my code just takes a random number from the overall range of numbers (ie random number between 1-1500 for my example above). I've simplified numbers for my example. Not sure if its relevent but it is cloudcode in Parse.com
Here's a snippet of my JS. Let me know if you need more:
Array.prototype.randomRange = function(n, ranges) {
var a = [];
for(var i = 0; i < n; i++) {
var range = getRandomInt1(0, ranges.length-1);
var r = ranges[range];
a.push(getRandomInt1(r.min, r.max));
}
return a;
};
Parse.Cloud.define("firstTimeQuery", function(request, response) {
var maxIndex = 91811;
var maxWomenIndex = 135354;
var maxMenIndex = 105357;
var arrayOfRandomNumbers;
var gender = request.params.gender;
var query = new Parse.Query("garmentsAPI");
function getRandomInt1(min, max) {
return Math.floor(Math.random() * (max - min+1)) + min;
}
if (gender === 'Female' || gender === 'women') {
arrayOfRandomNumbers = [].randomRange(25, [{min:10,max:20},{min:100,max:150},{min:300,max:400},{min:450,max:475}]);
query.containedIn("womenIndex", arrayOfRandomNumbers);
query.containedIn('gender', ['Female', 'women']);
query.notEqualTo("viewers", request.params.user);
console.log('female');