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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Basic supportChrome Full support 1Edge Full support YesFirefox Full support 1IE Full support 5.5Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

Vezi de asemenea

Document Tags and Contributors

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