El mètode shift() elimina el primer element d'un array i retorna l'element eliminat. Aquest mètode canvia el tamany de l'array.
Sintaxi
arr.shift()
Descripció
El mètode shift elimina l'element de l'array situat a la posició zero i mou la resta d'elements a la posició immediatament menor, tot seguit retorna el valor de l'element eliminat. Si la propietat length de l'array és 0, aquest mètode retornarà undefined.
shift és generic de forma intencionada; aquest mètode pot ser cridat o bé aplicat a objectes que es comportin com a arrays. Els objectes que no continguin una propietat length que reflecteixi l'última propietat numèrica poden tenir un comportament erràtic.
Exemples
Eliminar un element d'un array
El codi següent mostra l'array myFish abans i després d'eliminar el seu primer element. També mostra l'element eliminat:
var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];
console.log('myFish abans: ' + myFish);
// "myFish abans: angel,clown,mandarin,surgeon"
var shifted = myFish.shift();
console.log('myFish després: ' + myFish);
// "myFish després: clown,mandarin,surgeon"
console.log('Element eliminat: ' + shifted);
// "Element eliminat: angel"
Especificacions
| Especificació | Estat | Comentaris |
|---|---|---|
| ECMAScript 3rd Edition (ECMA-262) | Standard | Definició inicial. Implementat a 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 2017 Draft (ECMA-262) The definition of 'Array.prototype.shift' in that specification. |
Draft |
Compatibilitat amb navegadors
| Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Suport bàsic | 1.0 | 1.0 (1.7 or earlier) | 5.5 | (Yes) | (Yes) |
| Característica | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Suport bàsic | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |