I do not want to use Switch in my code, so I’m looking for some alternative
Example with Switch:
function write(what) {
switch(what) {
case 'Blue':
alert ('Blue');
break;
...
case 'Red':
alert ('Red');
break;
}
}
Example without Switch:
colors = [];
colors['Blue'] = function() { alert('Blue'); };
colors['Red'] = function() { alert('Red'); };
function write(what) {
colors[what]();
}
My questions are:
- Do you know any other alternatives?
- Is this best solution?
I have only a note about your second approach, you shouldn’t use an Array to store non-numeric indexes (that you would call in other languages an associative array).
You should use a simple Object.
Also, you might want to check if the
whatargument passed to yourwritefunction exists as a property of yourcolorsobject and see if it’s a function, so you can invoke it without having run-time errors: