Filter/array в браузере ИЕ8
var aList = [1, 3, "some string", true, "string two", null, false]; var res = aList.filter(function (value) { if (value && value.constructor == String) return true; }); Выполнение данного кода приводит к ошибке в ИЕ8. SCRIPT438: Object doesn't support property or method 'filter' Не могу понять, в чем причина. |
Цитата:
if (!Array.prototype.filter) { Array.prototype.filter = function(fun /*, thisp */) { "use strict"; if (this == null) throw new TypeError(); var t = Object(this); var len = t.length >>> 0; if (typeof fun != "function") throw new TypeError(); var res = []; var thisp = arguments[1]; for (var i = 0; i < len; i++) { if (i in t) { var val = t[i]; // in case fun mutates this if (fun.call(thisp, val, i, t)) res.push(val); } } return res; }; } |
Часовой пояс GMT +3, время: 06:19. |