MorzeToAbc
by Vladimir
JavaScript
/** Test function
@param f - function to test
@param n - total iterations
*/
function runTest(f, n) {
var d1 = (new Date()).valueOf(),
r,
d2;
for(var i=0; i<n; i++) {
r = f();
}
d2 = (new Date()).valueOf();
alert('f(): '+n+' iterations in '+(d2-d1)+'ms\nOr '+parseInt(1000*n/(d2-d1))+' iterations in 1 sec');
}
//-----------------
var t = '.... . .-.. .--. -- . --- ..- - --- ..-. - .... .. ... .-- . .-.. .-..';
function morzeToAbc(str)
{
var c = {
'--.-':'Q',
'--..':'Z',
'-..-':'X',
'-.--':'Y',
'-.-.':'C',
'-...':'B',
'.---':'J',
'.--.':'P',
'.-..':'L',
'..-.':'F',
'...-':'V',
'....':'H',
'---':'O',
'--.':'G',
'-.-':'K',
'-..':'D',
'.--':'W',
'.-.':'R',
'..-':'U',
'...':'S',
'--':'M',
'-.':'N',
'.-':'A',
'..':'I',
'-':'T',
'.':'E'},
i;
str += ' ';
for(i in c) {
str = str.split(i+' ').join(c[i]);
}
return str.replace(/\s{2}/g, ' ');
}
runTest(function(){ morzeToAbc(t);}, 200);