Показать сообщение отдельно
  #1 (permalink)  
Старый 01.05.2011, 23:58
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Добавил Array.prototype.count, но появилась проблема...
Здравствуйте!

Добавил метод подсчета числа элементов:

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?
Ответить с цитированием