配列の内容を変更せずに 配列最後の要素を取得 : slice を利用してみる
配列最後の要素を取得するには pop メソッドがありますが、元の配列の最後の要素を削除してしまいます。
var arr:Array = [1, 2, 3]; var n:uint = arr.pop();
pop を用いないよくある方法としては、以下のような記述を行います。
var arr:Array = [1, 2, 3]; var n:uint = arr[arr.length - 1];
ここで、配列を何かのインスタンスメソッド経由で取得する場合 以下のようになります。
var arr:Array = instance.getArray(); var n:uint = arr[arr.length - 1];
ローカル変数 arr は上記二行以降利用されない場合、もう少し簡略して記述する方法はないかと考えました。処理速度うんぬんはおいておき、不要な変数定義を避ける案として slice を用いて記述してみることに。
var n:uint = instance.getArray().slice(-1)[0];
もっとよい記述方法はあるでしょうか。とりあえずメモ。