Есть ли тест, чтобы увидеть, является ли объект ассоциативным массивом? - PullRequest
3 голосов
/ 01 октября 2009

Есть ли тест, чтобы увидеть, является ли объект ассоциативным массивом?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 01 октября 2009

При использовании объекта в качестве ассоциативного массива вы просто добавляете в него динамические свойства с произвольными значениями.

Циклы

for ... in перебирают только только динамические свойства объекта, поэтому, если вы создадите цикл for ... in и он завершит один цикл, вы будете знать, что объект является ассоциативным массив.

http://livedocs.adobe.com/flex/3/langref/statements.html#for..in

function isObjectAssociativeArray(obj:Object):Boolean
{
    for (var prop in obj)
    {
        return true;
    } 
    return false;
}
0 голосов
/ 01 октября 2009

Вы можете попробовать getQualifiedClassName и посмотреть, является ли тип возвращаемого значения "Object". Я не проверял это сам, но он принимает флэш-примитивы (Object, Array, String ...), а также классы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...