Metoda shift() înlătură primul element din o mulțime și returnează acel element. Această metodă schimbă lungimea mulțimii.

Sintaxă

arr.shift()

Valoare returnată

Elementul înlăturat din mulțime; undefined dacă mulțimea este goală.

Descripție

Metoda shift înlătură elementul aflat la indicele zero și mută valorile aflate la indicii consecutivi în jos, apoi returnează valoarea înlăturată. Dacă propietatea length este 0, undefined este returnat.

shift este intenționat generică; această metodă poate fi chemată sau aplicată obiectelor care seamănă cu mulțimi. Obiectele ce nu conțin o propietate length, reflectând ultima din o serie de propietăți numerice consecutive, începând de la zero, nu se vor comporta neapărat în vre-un mod semnificativ.

Exemple

Înlăturând un element din o mulțime

Codul de mai jos afișează mulțimea pestiiMei înainte și după înlăturarea primului element. De asemenea, afișează elementul înlăturat:

var pestiiMei = ['biban', 'caras', 'crap', 'pastrav'];

console.log('pestiiMei inainte:', JSON.stringify(pestiiMei));
// pestiiMei inainte: ['biban', 'caras', 'crap', 'pastrav']

var inlaturat = pestiiMei.shift(); 

console.log('pestiiMei dupa:', pestiiMei); 
// pestiiMei dupa: ['caras', 'crap', 'pastrav']

console.log('Element inlaturat:', inlaturat); 
// Element inlaturat: biban

Folosind metoda shift() în o buclă while

Metoda shift e deseori folosită în condiția unei bucle while. În exemplul următor fiecare iterație va înlătura următorul element din o mulțime, până când este goală:

var nume = ["Andrei", "Eduard", "Paul", "Cristi" ,"Ion"];

while( (i = nume.shift()) !== undefined ) {
    console.log(i);
}
// Andrei, Eduard, Paul, Cristi, Ion

Specificații

Specificație Statut Observație
ECMAScript 3rd Edition (ECMA-262) Standard Initial definition. Implemented in JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.prototype.shift' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Array.prototype.shift' in that specification.
Standard  
ECMAScript Latest Draft (ECMA-262)
The definition of 'Array.prototype.shift' in that specification.
Draft  

Compatibilitate în navigatoare

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support1 Yes15.5 Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes4 Yes Yes Yes

Vezi de asemenea

Document Tags and Contributors

Contributors to this page: simplysh
Last updated by: simplysh,