0

次の構造のArrayCollectionがあります(デバッグモードで表示した場合)。

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

srcは画像へのパスです。

arraycollectionからすべてのsrcを取得する必要があります。ただし、最初の(名前のない)ノードのため、それらを取り込むことができません。

ArrayCollection [0] .childrenを試し、結果を別のArrayCollectionに保存しましたが、新しいArrayCollectionには2つのオブジェクトがありますが、「src」はありません。nullオブジェクトは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();

お役に立てれば

ジョン

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

2回目の試み!!!!!!

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 に答える