узнать имена предметов в as3 - PullRequest
0 голосов
/ 02 июня 2011

допустим, вы передаете объект в функцию

{title:"my title", data:"corresponding data"}

как я могу заставить функцию узнать, как называются элементы / подобъекты (title и data) без указания их?

Ответы [ 2 ]

2 голосов
/ 02 июня 2011

Вы можете использовать цикл for следующим образом:

for (var key:String in obj) {
    var value:String = obj[key];
    trace(key + ": " + value);
}

Или используйте API самоанализа.

Страница справки Flex 3 на Самоанализ выполняемого объекта содержит хороший обзор этого.

1 голос
/ 02 июня 2011

Вы можете использовать цикл for(String in Object) следующим образом:

var i:String;
for(i in object)
{
    var key:String = i;
    var value:Object = object[i];

    // do stuff with key/value
}

PS Было бы разумнее использовать key в цикле, мой пример сделан для демонстрация .


Почему за это проголосовали .. Потому что я не выполнял функцию?

function findKeys(obj:Object):Array
{
    var ar:Array = [];

    var i:String;
    for(i in obj)
    {
        ar.push(i);
    }

    return ar;
}

var ob:Object = {things:"value", other:5};

trace(findKeys(ob)); // other,things
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...