forEach
JavaScriptだとブロックでスコープ切れないのでforEachとかmapとかを頻繁に使うので、
ブラウザによって使えないのがあるのでその対策。
Array.prototype.forEach = function(func, thisObject) { for (var i = 0, len = this.length; i < len; i++) func.call(thisObject, this[i], i, this); } Array.prototype.map = function(func, thisObject) { for (var i = 0, len = this.length, r = []; i < len; i++) r[i] = func.call(thisObject, this[i], i, this); return r; }
Arrayオブジェクトを汚染しない版
function forEach(array, func, thisObject) { for (var i = 0, len = array.length; i < len; i++) func.call(thisObject, array[i], i, array); } function map(array, func, thisObject) { for (var i = 0, len = array.length, r = []; i < len; i++) r[i] = func.call(thisObject, array[i], i, array); return r; }