Ho alcune strutture XML come questo:Come trovare una voce ArrayCollection con un valore di proprietà specifico?
var struct:XML = <mh>
<mi id="1" stuff="whatever"/>
<mi id="2" stuff="whatever"/>
<mi id="3" stuff="whatever"/>
</mh>;
so di poter accedere ad un sottonodo da "id", in questo modo:
var stuff:Object = struct.(hasOwnProperty('@id') && @id == '2')[email protected];
Ora ho qualche struttura ArrayCollection simile:
private var cmenu:ArrayCollection = new ArrayCollection([
{id:"1", stuff:"whatever"},
{id:"2", stuff:"whatever"},
{id:"3", stuff:"whatever"}
]);
mi chiedo se gli elementi si può accedere in modo simile, in questo modo:
var stuff:Object = cmenu['id == 2'].stuff;
È possibile?
Tutte le risposte di seguito sono corrette. Non esiste una sintassi magica di hash per i proiettili che è possibile utilizzare per estrarre un oggetto specifico per proprietà, quindi è sufficiente eseguire una serie di cicli per trovare le proprietà. –
Con una coppia di funzioni di aiuto puoi comunque avvicinarti. – Herms
Voglio ringraziarvi per tutte le risposte, so già delle funzioni di supporto ma, dopo tutto, non ho bisogno di usare Object/Array/ArrayCollection ad ogni costo, quindi sono riuscito a convertire tutte quelle cose in xml. –