Random code I'm sharing for no good reason

This post is more than 2 years old.

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&lt;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&lt;features.length; z++) {
			if(getRandomInt(1,10) + k &gt; 6) {
				car.price += (car.features.length+1)*1000;


//so i can see it console.table(inventory); //so i can copy it console.log(JSON.stringify(inventory));

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.

Raymond Camden's Picture

About Raymond Camden

Raymond is a developer advocate for HERE Technologies. He focuses on JavaScript, serverless and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA https://www.raymondcamden.com