0

我有一个具有以下结构的 ArrayCollection(在调试模式下查看时):

[0]
- [0]
-- src
- [1]
-- src

src 是图像的路径。

我需要从arraycollection 中取出所有src。但是,由于第一个(未命名的)节点,我无法接受它们。

我尝试了 ArrayCollection[0].children 并将结果保存在另一个 ArrayCollection 中,但是新的 ArrayCollection 中有 2 个对象但没有“src”。只有 2 个空对象

firstArrayCollection 用上述数据填充。

secondArrayCollection.addItem(firstArrayCollection[0].children);

查看 secondArrayCollection 的内容时,我看到以下结构(和数据):

[0] null
[1] null
4

1 回答 1

2

尝试

var i:int = 0;
var myNormalArray:Array = new Array();

//loop through collection
for each (var child:* in myArrayCollection)
{
  //do what you want with the child
  myNormalArray[i++] = child;
}

这会将集合中的所有对象放入一个普通数组中,在该数组中可以通过索引引用它们。如果您查看数组集合,它没有长度的概念,因此索引不能是索引,它必须是键。

或者只是考虑一下(虽然我从来没有这样做过)

var myArray:Array = myArrayCollection.toArray();

希望这可以帮助

乔恩

//************************************************ ********

第二次尝试 !!!!!!

var pathArray:Array = new Array();
var i:int = 0;
for each (var child:* in myArrayCollection)
{
  for each (var pathObject:Object in child)
  {
    pathArray[i++] = pathObject.src;
  }
}

这应该可以,虽然我还没有测试过

于 2009-08-12T20:16:13.653 回答