est-il possible d'obtenir la profondeur de l'objet dans ArrayCollection?La profondeur de l'objet dans ArrayCollection
Répondre
voici mon code ...
public function getItemNestLevel(needle:Object, haystack:Object, level:Number = 0):Number
{
//iterate through items
for each (var item:Object in haystack)
{
if (item == needle)
{
return level;
}
//iterate through item's properties
for each (var child:Object in item)
{
if (child is Array || child is ArrayCollection)
{
var lvl:Number = level + 1;
var num:Number = getItemNestLevel(needle, child, lvl);
if (num >= 0)
{
return num;
}
}
}
}
return -1;
}
De l'livedocs:
// Get the index of the item with the value ME.
var addedItemIndex:int=myAC.getItemIndex("ME");
Pas une réponse, je ne peux pas poster des commentaires.
De docs en direct: http://livedocs.adobe.com/flex/3/langref/mx/collections/ArrayCollection.html
La classe ArrayCollection est une enveloppe classe qui expose un tableau comme une collection qui peut être consulté et manipulés à l'aide des méthodes et propriétés du ICollectionView ou IList interfaces.
Pourquoi pensez-vous qu'un ArrayCollection a de la profondeur?
Je suppose que vous pouvez créer une ArrayCollection de sub-ArrayCollections. Si c'est le cas; alors vous pourriez écrire une fonction qui cherche dans toutes ses sous-collections Array.
EDIT: Je pense qu'il y a quelques bugs dans la fonction que vous avez suggérée. Voici une fonction que j'ai essayé:
public function getItemNestLevel2(needle:Object, haystack:Object):Number
{
for each (var item:Object in haystack)
{
if (item == needle)
return 0;
if (item is Array || item is ArrayCollection)
{
var nestLevel:int = getItemNestLevel2(needle, item);
if (nestLevel >= 0)
return nestLevel + 1;
}
}
return -1;
}
J'espérais, qu'il existe déjà une telle fonction. Merci – luccio
Un critique de Flex que j'ai entendu est que; Flex n'a pas de bonnes classes de collection. : - / –
- 1. Flex: arrayCollection dans un autre ArrayCollection?
- 2. Gestion de la profondeur dans actinscript3
- 3. Obtention de DataFields de DataGridColumn dans ArrayCollection
- 4. Tri d'une ArrayCollection dans Flex
- 5. Utilisation ArrayCollection dans Flash CS5
- 6. ArrayCollection en PHP
- 7. enfants ArrayCollection renvoie null
- 8. doctrine2 Erreur ArrayCollection
- 9. Filtre Flex Arraycollection
- 10. Limitation de la profondeur de récursivité RecursiveIteratorIterator()
- 11. UIImageViews numéro de profondeur
- 12. Déplacer des éléments dans un ArrayCollection - FLEX
- 13. profondeur limite de .gitignore
- 14. Gestion de plusieurs vues de la même ArrayCollection
- 15. Obtenez la profondeur d'un élément
- 16. impression ArrayCollection dans les champs de texte dans FLex
- 17. Tri de profondeur OpenGL
- 18. Nutch: obtenir la profondeur de crawl actuelle dans le plugin
- 19. Comment trouver la profondeur de chaque nœud dans std :: map?
- 20. profondeur de l'écriture première recherche dans c
- 21. ArrayCollection inverse l'ordre de mes objets
- 22. Fusionner 2 arraycollection - Flex 3
- 23. bits de profondeur de couleur?
- 24. Impression plus intelligente qui montre la profondeur dans la pile
- 25. Ajouter une valeur de ligne à arraycollection
- 26. Longueur de ArrayCollection filtrée dans actionscript 3/flex
- 27. Impossible d'accéder aux enfants de arrayCollection dans datagrid
- 28. profondeur de rendu en HLSL
- 29. hashtable de copie en profondeur
- 30. Profondeur de bit 16 bits
ce n'est pas la profondeur, mais l'indice ... par « profondeur » Je veux dire à quel point est que l'article niché dans ArrayCollection tree – luccio