Vai dar Objeto nulo na hora que tentar atribuir p["subprop1"] = 20;
Como você instanciou o "o" e criou uma propriedade dinâmica sem valor,
na hora que fizer a atribuição em "p" ele vai virar nulo.
Talvez se fizer algumas validações até dê certo.


Segue o trecho de uma lógica para criar as propriedades dinâmicas e
somar os valores se já existir a propriedade.

private function validateItemGroup(item:Object, date:Date,
type:String, value:Number):void {
            var d:String = formatHelp.format(date);
                        
            if (item.hasOwnProperty(d)) {
                if (item[d].hasOwnProperty([type])) {
                    item[d][type] += value;
                } else {
                    item[d][type] = value;
                }
            } else {
                item[d] = {};
                item[d][type] = value;
            }

        }


Fredy,


2011/8/8 Flavio Padilha <flavio_padilha_n...@msn.com>:
> entendi, é que eu estou com alguns problemas de logica por não poder colocar
> o objeto["propriedade"]["subpropriedade"]
> estou tentando fazer algo do tipo:
>  // Funciona
>  private function hey():void {
>  var o:Object = new Object();
>  var p:Object = new Object();
>  p = o["prop1"];
>  p["subprop1"] = 20;
> }
> sera que isso funciona?
>
>> From: thief...@gmail.com
>> Date: Mon, 8 Aug 2011 08:36:31 -0300
>> Subject: Re: [flexdev] Propriedade
>> To: flexdev@googlegroups.com
>>
>> Até onde eu saiba, funciona isso que você disse.
>> Só não deixaria fazer se o valor da sua "Propriedade" você alguma
>> coisa diferente de um objeto.
>>
>> // Funciona
>> private function hey():void {
>> var o:Object = new Object();
>> o["prop1"] = {};
>> o["prop1"]["subprop1"] = 20;
>> }
>>
>> // Não funciona
>> private function hey():void {
>> var o:Object = new Object();
>> o["prop1"] = 10;
>> o["prop1"]["subprop1"] = 20;
>> }
>>
>>
>> Fredy
>>
>> 2011/8/8 Flavio Padilha <flavio_padilha_n...@msn.com>:
>> > Pessoal, bom dia.
>> > Eu tenho uma pergunta até que simples.
>> > No flex, para se definir uma propriedade em um componente através de uma
>> > string a sintaxe é assim.
>> > Componente["Propriedade"] = Valor;
>> > Eu gostaria de saber como que eu poderia colocar uma propriedade filha
>> > dessa
>> > propriedade, por exemplo.
>> > Componente["Propriedade"]["SubPropriedade"] = Valor;
>> > O código acima não funciona.
>> > Em aguardo.
>> >
>> > --
>> > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>> > Para sair da lista, envie um email em branco para
>> > flexdev-unsubscr...@googlegroups.com
>> > Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>> Para sair da lista, envie um email em branco para
>> flexdev-unsubscr...@googlegroups.com
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a