Здравствуйте!
Добавил метод подсчета числа элементов:
Array.prototype.count = function() {
var result = 0;
for(var i in this) {
if (!this.hasOwnProperty(i)) continue;
result++;
}
return result;
};
Но он выдает на один больше число.
Выяснил что оказывается среди подсчитываемых индексов i попадается и добавленный метод count.
Скорректировал так:
Array.prototype.count = function() {
var result = 0;
for(var i in this) {
if (!this.hasOwnProperty(i) || i == "count") continue;
result++;
}
return result;
};
Вопрос, почему не попадаются прочие методы (push, pop и пр.)?
И что делать, когда я добавлю еще методы в Array.prototype?