mercredi 16 septembre 2015

Javascript to select random numbers from given ranges

I want to use Javascript to select of random numbers between a certain range:

I want it to choose:

  • 25% of random numbers between 1 to 100
  • 25% of random numbers between 150 to 250
  • 25% of random numbers between 1350 to 1400
  • 25% of random numbers between 1450 to 1500

So my results may be:

  • 25
  • 175
  • 1375
  • 1475

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.

Here's a snippet of my JS. Let me know if you need more:

Array.prototype.random = function(size, max) {
    for (var i = 0; i < size; i++) {
        var r = Math.floor((Math.random() * max) + 1);
        this.push(r);
    }

    return this;
};

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");

    if (gender === 'Female' || gender === 'women') {
        arrayOfRandomNumbers = [].random(35, maxWomenIndex); 

        query.containedIn("womenIndex", arrayOfRandomNumbers);
        query.containedIn('gender', ['Female', 'women']);
        query.notEqualTo("viewers", request.params.user);

        console.log('female');

    }else if (gender === 'Male' || gender === 'men') {
        arrayOfRandomNumbers = [].random(35, maxMenIndex); 

        query.containedIn("menIndex", arrayOfRandomNumbers);
        query.containedIn('gender', ['Male', 'men']);
        query.notEqualTo("viewers", request.params.user);

        console.log('male');

    }else{
        arrayOfRandomNumbers = [].random(35, maxIndex); 
        query.containedIn("index", arrayOfRandomNumbers);
        query.notEqualTo ("viewers", request.params.user);

        console.log('both');
    };




Aucun commentaire:

Enregistrer un commentaire