We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

この翻訳は不完全です。英語から この記事を翻訳 してください。

shift() メソッドは、配列から最初の要素を取り除き、その要素を返します。このメソッドは配列の長さを変えます。

構文

arr.shift()

Return value

The removed element from the array; undefined if the array is empty.

説明

shift メソッドは 0 番目の添え字の要素を取り除き、続く添え字の値を小さい方向にずらします。そして、削除された値を返します。length プロパティが 0 の場合、undefined を返します。

shift は意図的に汎用性を持たせています。つまり、このメソッドは配列に類似したオブジェクトに対して call したり、apply したりすることもできます。ゼロから始まる数値プロパティであり、連続した連なりの最後を反映している length プロパティを含まないオブジェクトでは効果がないかもしれません。

配列から要素を取り除く

以下のコードは myFish 配列を、その最初の要素を取り除く前後で表示します。また、取り除いた要素も表示します。

var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];

console.log('myFish before:', JSON.stringify(myFish));
// myFish 処理前: ['angel', 'clown', 'mandarin', 'surgeon']

var shifted = myFish.shift();

console.log('myFish 処理後:', myFish); 
// myFish 処理後: ['clown', 'mandarin', 'surgeon']

console.log('取り除いた要素:', shifted); 
// 取り除いた要素: angel

Using shift() method in while loop

The shift() method is often used in condition inside while loop. In the following example every iteration will remove the next element from an array, until it is empty:

var names = ["Andrew", "Edward", "Paul", "Chris" ,"John"];

while( (i = names.shift()) !== undefined ) {
    console.log(i);
}
// Andrew, Edward, Paul, Chris, John

仕様

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

ブラウザ対応

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応1 あり15.5 あり あり
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応 あり あり あり4 あり あり あり

関連情報

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

このページの貢献者: woodmix, dskmori, N.Wada, Hnakamur, teoli, ethertank, Potappo, Mgjbot, Yuichirou
最終更新者: woodmix,