--- title: Array.prototype.shift() slug: Web/JavaScript/Reference/Global_Objects/Array/shift tags: - Dizi - JavaScript - Prototype - metod translation_of: Web/JavaScript/Reference/Global_Objects/Array/shift ---
{{JSRef}}

shift() metodu bir dizinin ilk elementini diziden kaldırır ve kaldırılmış bu elementi geri döndürür. Bu metod dizinin boyunu değiştirir.

{{EmbedInteractiveExample("pages/js/array-shift.html")}}

Dildizimi

arr.shift()

Dönen değer

Diziden kaldırılan element; eğer dizi boş ise de {{jsxref("undefined")}} değerini döndürür.

Tanımlama

shift metodu sıfırıncı indeksteki elementi kaldırır ve ardışık indeksleri aşağı düşürür, daha sonra kaldırılan değeri geri döndürür. Eğer metod uygulandığında {{jsxref("Array.length", "length")}} değeri 0 ise, {{jsxref("undefined")}} geri döndürür.

shift özellikle geniş kapsamlıdır; bu metod {{jsxref("Function.call", "called", "", 1)}} veya {{jsxref("Function.apply", "applied", "", 1)}} dizilere benzeyen nesnelere de uygulanabilir. Ardışık bir serinin sonuncusu özelliği olan, sıfır-temelli, sayısal özellikleri olan ancak length özelliği bulundurmayan nesneler, anlamli bir davranış göstermeyebilirler.

Örnekler

Bir diziden bir elementi kaldırmak

Aşağıdaki kod  myFish dizisinin ilk elementini kaldırmadan önceki ve kaldırdıktan sonraki halini göstermektedir. Aynı zamanda kaldırılan elementi de gösterir:

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

console.log('myFish öncesinde:', JSON.stringify(myFish));
// myFish öncesinde: ['angel', 'clown', 'mandarin', 'surgeon']

var shifted = myFish.shift();

console.log('myFish sonrasında:', myFish);
// myFish sonrasında: ['clown', 'mandarin', 'surgeon']

console.log('Bu element kaldırıldı:', shifted);
// Bu element kaldırıldı: angel

shift() metodunu while döngüsü içerisinde kullanmak

shift metodu sıklıkla while döngüsü içerisindeki şartlarda kullanılır . Takip eden örnekte her döngü dizi boşalana kadar bir sonraki elementi diziden kaldıracaktır:

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

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

Özellikler

Özellik Durum Açıklama
{{SpecName('ES3')}} {{Spec2('ES3')}} İlk tanımlama. JavaScript 1.2. de uygulandı.
{{SpecName('ES5.1', '#sec-15.4.4.9', 'Array.prototype.shift')}} {{Spec2('ES5.1')}}  
{{SpecName('ES6', '#sec-array.prototype.shift', 'Array.prototype.shift')}} {{Spec2('ES6')}}  
{{SpecName('ESDraft', '#sec-array.prototype.shift', 'Array.prototype.shift')}} {{Spec2('ESDraft')}}  

Tarayıcı uyumluluğu

{{Compat("javascript.builtins.Array.shift")}}

Ayrıca bakınız