Random code I'm sharing for no good reason

Ok, the title should be your warning. I'm only posting this because it is Sunday night and I'm bored. I'm working on a demo for my jQuery video (did I mention I'm working on a jQuery video?) that mimics a typical car dealership inventory search. As we just upgraded our car I'm pretty familiar with these. The demo will focus on building the UI to create a search engine that can filter cars by model, trim, color, price, and features. In order to actually have something to search against, I wrote a script that creates an inventory of cars. Here is that script. Enjoy.

 * Returns a random integer between min and max
 * Using Math.round() will give you a non-uniform distribution!
function getRandomInt (min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;

A utility to create my car data.

We have models
Models have trims (which they all share)
cars have a color
and an array of features from a list of possible ones

var models = ["Alpha", "Beta", "Gamma", "Delta", "Epsilon"];
var trims = ["XT", "XTE", "Super", "Ultimate"];
var colors = ["Red", "Blue", "Silver", "Gold", "Black", "White"];
var features = ["Air Conditioning", "Cruise Control", "Backup Camera", "Power Steering", "Internet", "Sat Radio", "4WD", "Moon Roof"];

var inventory = [];

Ok, loop over each model. Each model will have 5-20 (rnd) of each trim.
Each car will have a random color.
Each car will have a random chance of having a feature with higher trims having a better chance of having it.
Each car will have a price btn 20K-40K with each level of trim adding +10k to make them, normally, higher

for(var i=0; i < models.length; i++) {
    var model = models[i];
    for(var k=0; k < trims.length; k++) {
        var trim = trims[k];
        var numberToAdd = getRandomInt(8, 23);
        console.log("Going to make "+numberToAdd+" "+model+" "+trim);
        for(var j=0; j<numberToAdd; j++) {
            var car = {
            car.color = colors[getRandomInt(0, colors.length-1)];
            car.price = getRandomInt(20000, 40000) + (k*10000);
            car.features = [];
            for(var z=0; z<features.length; z++) {
                if(getRandomInt(1,10) + k > 6) {
                    car.price += (car.features.length+1)*1000;

//so i can see it
//so i can copy it

In case you're curious, I'm going to write a simple module that wraps calls to this data so that I don't have to use an application server to serve it up.

Like This?

If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can also subscribe to the email feed to get notified of new posts.