From 32f135d730531d88258832445e65cc267265aae4 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Tue, 14 Feb 2012 07:53:39 -0600 Subject: [PATCH] Add array map function for IE9. --- include/util.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/include/util.js b/include/util.js index 687f6552..ddc1914c 100644 --- a/include/util.js +++ b/include/util.js @@ -33,6 +33,30 @@ Array.prototype.push32 = function (num) { (num ) & 0xFF ); }; +// IE does not support map (even in IE9) +//This prototype is provided by the Mozilla foundation and +//is distributed under the MIT license. +//http://www.ibiblio.org/pub/Linux/LICENSES/mit.license +if (!Array.prototype.map) +{ + Array.prototype.map = function(fun /*, thisp*/) + { + var len = this.length; + if (typeof fun != "function") + throw new TypeError(); + + var res = new Array(len); + var thisp = arguments[1]; + for (var i = 0; i < len; i++) + { + if (i in this) + res[i] = fun.call(thisp, this[i], i, this); + } + + return res; + }; +} + /* * ------------------------------------------------------ * Namespaced in Util