If you do NOT want to modify the input (
this) array, then do *NOT* use the
array or
index arguments that are passed to the callback! Simple as that.
What you expected could have been produced via
Code:
var Aarr = [0,1,2,3,4,5,6,7,8,9];
var Barr = Aarr.forEach( function(element) { return element + 1; } );
var BBarr = Aarr.forEach( function(element) { return ++element; /* same as element + 1 */ } );
var Carr = Barr.forEach( );
var Darr = Aarr.forEach( );
var Earr = Aarr.forEach( function(element) { return element * 100; } );