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, время: 18:34. |