→
その Array の最後の要素を取り除き、その要素を返します。元の Array は変更されます。
Array | Arrayオブジェクト |
---|
配列の最後の要素。配列が空だった場合は、undefined。
pop は意図的に汎用性を持たせています。つまり、このメソッドは配列に類似したオブジェクトに対して呼び出したり、適用したりすることもできます。ゼロから始まる数値プロパティであり、連続した連なりの最後を反映している length プロパティを含まないオブジェクトでは効果がないかもしれません。
空の配列に対して pop() を実行した場合は、undefined を返します。
Array.prototype.shift() は pop と同様の動作をしますが、配列の最初の要素に適用されます。
以下のコードは、4 つの要素を含んだ配列 myFish を生成し、その後その最後の要素を取り除き、変数に代入しています。
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; var popped = myFish.pop(); //='sturgeon'、myFish=['angel', 'clown', 'mandarin']
以下のコードは、4 つの要素と長さのパラメータを含む配列のような myFish オブジェクトを作成し、最後の要素を削除して長さのパラメータをデクリメントします。
var myFish = {0:'angel', 1:'clown', 2:'mandarin', 3:'sturgeon', length:4}; var popped = Array.prototype.pop.call(myFish); //apply( ) を使用するための同じ構文 D=myFish; //={0:'angel', 1:'clown', 2:'mandarin', length: 3} D=popped; //='sturgeon'
¶myFishはオブジェクトで、キーが「0」「1」…ならいいがアルファベットではだめだった。
A={0:"あ", 1:"い", length:2}; D=A.pop(); //だめなようだ