Preparation Code Preparation HTML (this will be inserted in the <body>
of a valid HTML5 document in standards mode) (useful when testing DOM operations or including libraries) <script src ="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" >
</script >
<script src ="//documentcloud.github.com/underscore/underscore-min.js" >
</script >
<script >
window .underscore = _.noConflict ();
</script >
<script src ="https://raw.github.com/bestiejs/lodash/master/lodash.min.js" >
</script >
<script >
window .lodash = _.noConflict ();
</script >
Setup JS var $ = window .$ ,
lodash = window .lodash ,
underscore = window .underscore ;
var a = [],
newArray = [],
pi = Math .PI ;
window .newArray = newArray;
for (var i = 1 , max= 100 ; i <= max ; i++) {
a.push ('Fundamental alert number ' + i);
}
function iterate ( a, x ) {
var s = x.toString ();
var d = s.indexOf ('{' );
d = s.substr (0 ,d);
s = s.substr ( s.indexOf ('{' ) );
if ( /^\{\s*\[native code\]\s*\}\s*$/ .test (s) )
Array .prototype .forEach ( a, x );
var p = d.substring ( d.indexOf ('(' ) + 1 , d.indexOf (')' ) );
if ( p !== '' ) {
p = p.split (',' );
p.unshift ('Ω' );
p.push ('for (var α = 0; α < ' +a.length +'; ++α) { ' +p[1 ]+' = Ω[α]; ' +s+'}' );
(Function .apply (null ,p))(a);
} else {
(new Function ( 'for (var α = 0; α < ' +a.length +'; ++α) ' +s ))();
}
}
Teardown JS
newArray = [];
Test cases
Test #1 Title *
Async
Code * $.each (a, function (index, val ) {
newArray.push (
val.replace ('und' , '' )
.replace (/me.*le/ , '' )
.replace (/number\s(\d+)/ , 'with deciblel level of $1dB' )
);
});
Test #2 Title *
Async
Code * for (var i = 0 , len = a.length ; i < len; i++) {
newArray.push (
a[i].replace ('und' , '' )
.replace (/me.*le/ , '' )
.replace (/number\s(\d+)/ , 'with deciblel level of $1dB' )
);
}
Title *
Async
Code * underscore.each (a, function (item ) {
newArray.push (
item.replace ('und' , '' )
.replace (/me.*le/ , '' )
.replace (/number\s(\d+)/ , 'with deciblel level of $1dB' )
);
});
Title *
Async
Code * lodash.each (a, function (item ) {
newArray.push (
item.replace ('und' , '' )
.replace (/me.*le/ , '' )
.replace (/number\s(\d+)/ , 'with deciblel level of $1dB' )
);
});
Title *
Async
Code * Array .prototype .forEach .call (a, function (item ) {
newArray.push (
item.replace ('und' , '' )
.replace (/me.*le/ , '' )
.replace (/number\s(\d+)/ , 'with deciblel level of $1dB' )
);
});
Title *
Async
Code * a.forEach (function (item ) {
newArray.push (
item.replace ('und' , '' )
.replace (/me.*le/ , '' )
.replace (/number\s(\d+)/ , 'with deciblel level of $1dB' )
);
});
Title *
Async
Code *
iterate ( a, function (item ) {
newArray.push (
item.replace ('und' , '' )
.replace (/me.*le/ , '' )
.replace (/number\s(\d+)/ , 'with deciblel level of $1dB' )
);
});