概要

配列の末尾に1つ以上の要素を追加することができます。また戻り値として新しい配列の要素数を返します。

構文

array.push(element1, ..., elementN)

引数

element1, ..., elementN
配列の末尾に追加する要素。

説明

push メソッドは配列の末尾に要素を追加します。このメソッドは、戻り値として 新しい配列の length プロパティを返します。配列に要素を追加する際に利用しやすいメソッドです。

なお、push はあえて汎用的なメソッドとして用意されています。そのため、 call や apply と一緒にオブジェクトに対して利用することもできます。

なお、push は配列の末尾から要素を挿入する必要性があるため、 length プロパティに依存しています。length が数値に変換できない場合、0 が用いられます。また、 length が存在しない場合は length も作成されることになります。

ネイティブのみで、配列のようなオブジェクトは文字列ですが、文字列は変化しないので、このメソッドの効果を受けるには相応しくありません。

配列に要素を追加する

以下のコードは 2 つの要素を持つ配列 sportsを生成し、それに 2 つの要素を追加します。コードの実行後、total には 4 が入ります。

var sports = ['soccer', 'baseball'];
var total = sports.push('football', 'swimming');

console.log(sports); // ['soccer', 'baseball', 'football', 'swimming']
console.log(total);  // 4

2つの配列をマージする

この例では apply を利用することで2つ目の配列の全ての要素を1つ目の要素にマージさせています。

var vegetables = ['parsnip', 'potato'];
var moreVegs = ['celery', 'beetroot'];

// 1つ目の配列に2つ目の配列をマージさせます
// vegetables.push('celery', 'beetroot'); と同じ結果になります
Array.prototype.push.apply(vegetables, moreVegs);

console.log(vegetables); // ['parsnip', 'potato', 'celery', 'beetroot']

仕様

仕様   コメント
ECMAScript 3rd Edition (ECMA-262) 標準 初期のバージョンです。JavaScript 1.2. から実装されています。
ECMAScript 5.1 (ECMA-262)
Array.prototype.push の定義
標準  
ECMAScript 2015 (6th Edition, ECMA-262)
Array.prototype.push の定義
標準  

ブラウザ対応

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 1.0 (1.7 or earlier) 5.5 (有) (有)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (有) (有) (有) (有)

関連情報

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: kamekame, mamodayo, teoli, ethertank, Potappo, Yuichirou, Shoot, Mgjbot
 最終更新者: kamekame,