Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Массив и prototype: элемент приписывается всем массивам (https://javascript.ru/forum/misc/7478-massiv-i-prototype-ehlement-pripisyvaetsya-vsem-massivam.html)

barcelona 03.02.2010 16:31

Массив и prototype: элемент приписывается всем массивам
 
Здравствуйте!
Библиотека xajax содержит строку:
Array.prototype.containsValue=function(valueToCheck){for(var i=0;i<this.length;i++){if(this[i]==valueToCheck)return true;}
return false;}

Далее пишу код:
var ar = new Array();

В результате массив ar содержит элемент, с ключом containsValue и значением "function...". Как выкрутиться из этой ситуации?

Мараторий 03.02.2010 16:52

А зачем вы по массиву проходитесь for..in?

barcelona 03.02.2010 16:59

Он у меня ассоциативный, иначе никак...

vk65535 03.02.2010 17:05

http://javascript.ru/tutorial/object/intro

Мараторий 03.02.2010 17:21

Цитата:

Сообщение от barcelona (Сообщение 43395)
Он у меня ассоциативный, иначе никак...

Зачем тогда Array? Используйте Object.
В ссылке выше есть вся нужная вам информация.

barcelona 03.02.2010 17:21

Решение:
for(prop in object) {
if (!object.hasOwnProperty(prop)) continue
 //...
}

vk65535, спасибо!


Часовой пояс GMT +3, время: 10:02.