Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Почему у ассоциативных массивов нет length (http://www.flasher.ru/forum/showthread.php?t=99271)

chingachgoog 01.08.2007 14:00

Почему у ассоциативных массивов нет length
 
Например, нельзя напрямую посмотреть число атрибутов у xml узла:

Код:

trace(мойXML.childNodes[0].attributes.length) // выводит undefined
Только опосредовано:

Код:

t=0
        for (i in мойXML.childNodes[0].attributes){
                trace ("i "+i+" "+xmlData.childNodes[0].attributes[i])
                t++
        }
        trace(t)

Или все же можно?

iNils 01.08.2007 14:09

Ассоциативный массив это Object, а у него нет свойства length.

etc 01.08.2007 14:21

Если очень хочется:

Код:

__get__attributesLength = function() {
        var i = 0;
        for (var j in this.attributes) {
                i++;
        }
        return i;
}
XMLNode.prototype.addProperty('attributesLength', __get__attributesLength, null);
xml = new XML('<node param="1" param2="2"/>');
trace(xml.firstChild.attributesLength);


chingachgoog 01.08.2007 20:26

спасибо, теперь все стало на свои места


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.