Array
をActionScriptでVector
に変換するオプションは、配列を反復することなく実行できますか?ActionScript配列(Object [])とVectorの間の変換。 <Object>
他の方法(Vector
をArray
に変換)はどうですか? Array
からVector
については
Array
をActionScriptでVector
に変換するオプションは、配列を反復することなく実行できますか?ActionScript配列(Object [])とVectorの間の変換。 <Object>
他の方法(Vector
をArray
に変換)はどうですか? Array
からVector
については
、配列を受け入れるVector.<TYPE>()
機能を使用して作成したベクトルが返されます:あなたは、各オーバーループをしなければならないので、何の組み込み関数が存在しない他の場合
var aObjects:Array = [{a:'1'}, {b:'2'}, {c:'3'}];
// use Vector function
var vObjects:Vector.<Object> = Vector.<Object>(aObjects);
をVector
アイテムを入力し、Array
var myArray:Array = [] .concat(myVector);
が動作する可能性があります。
vObjects.push.apply(null, aObjects);
また別の方法です。
ここのトリックは簡単です。 concat()
メソッドを使用して配列をベクトルにロードしようとすると、入力がベクトルなので失敗し、ベクトル要素を追加する代わりに、ベクトル全体が1つのエントリとして追加されます。 push()
を使用する場合は、配列内のすべてのアイテムを1つずつ追加して追加する必要があります。
は、ActionScriptでは、すべての機能は、次の3つの方法で呼び出すことができます。
通常の方法:aObjects
はObject
しかしArray
ではないのでvObjects.push(aObjects)
がエラーをスローします。
call
方法:我々は関数に渡すことができコンマ区切りのリストにaObjects
配列を分割することはできませんのでvObjects.push.call(this, myObject1, myObject2, ..., myObjectN)
が私たちを助けていません。
apply
方法:vObjects.push.apply(this, aObjects)
喜ん入力として配列を受け入れ、ベクターにその要素を追加するように、このルートを行きます。配列の要素タイプとベクトルが一致しない場合でも、ランタイムエラーが発生します。最初のパラメータに注意してください:関数を実行するときに有効範囲をthis
に定義します。ほとんどの場合null
は問題ありませんが、関数のthis
キーワードを使用してnull
以外を渡す必要があります。
答えを編集して、表示しているコードが何をしているのか、そのコードが質問に答える理由/方法を説明してください。本当に役立つでしょう。 –
'myVector'は' concat() 'が期待しているので' myVector'は 'Array'ではないので、うまくいきません。 – Tox