I have used the Array.Map function outlined by Scott Koon a couple of times.
http://www.lazycoder.com/weblog/2009/08/12/a-simple-map-function-for-plain-javascript-arrays/
Array.prototype.map = function(fn) {
var r = [];
var l = this.length;
for(i=0;i