Не ответ, я не могу оставлять комментарии.
Из живых документов: http://livedocs.adobe.com/flex/3/langref/mx/collections/ArrayCollection.html
Класс ArrayCollection является оболочкой
класс, который выставляет массив как
коллекция, которая может быть доступна и
манипулировать с использованием методов и
свойства ICollectionView или
Интерфейсы IList.
Как вы думаете, почему ArrayCollection имеет глубину?
Полагаю, вы можете сделать ArrayCollection для sub-ArrayCollections. Если это так; тогда вы могли бы написать функцию, которая просматривает все ее под-ArrayCollections.
РЕДАКТИРОВАТЬ: Я думаю, что есть некоторые ошибки в функции, которую вы предложили. Вот функция, которую я попробовал:
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;
}