push() metotu dizinin sonuna bir yada daha fazla element ekler ve dizinin yeni uzunluğunu geri döndürür.
Söz dizimi
arr.push(element1, ..., elementN)
Parametreler
elementN- Dizinin sonuna eklenecek elementler.
Geri döndürür
Nesnenin yeni length özelliğini metotun çağrılması üzerine geri döndürür.
Tanım
push metotu değerleri bir diziye ekler.
push kasıtlı olarak genelleyicidir. Bu metot benzeyen nesnelerin dizilerinde call() veya apply() ile kullanılabilir. push metotu verilen değerleri eklemeye nereden başlayacağını tespit etmek için length özelliğine dayanır. Eğer length özelliği bir sayıya dönüştürülemezse indeks 0 kabul edilir. Bu durum length özelliğinin bulunmama ihtimalini de kapsar, bu durumda length ayrıca oluşturulacaktır.
Sadece yerel dizi benzeri nesneler strings olduğu halde stringlerin değişmez olduğu gibi bu metotun uygulamalarına uygun değildirler.
Örnekler
Bir diziye element ekleme
Aşağıda bulunan kod iki elementi bulunan sports dizisini oluşturuyor, daha sonra iki diziye iki element daha ekliyor. total değişkeni dizinin yeni uzunluğunu tutuyor.
var sports = ['soccer', 'baseball'];
var total = sports.push('football', 'swimming');
console.log(sports); // ['soccer', 'baseball', 'football', 'swimming']
console.log(total); // 4
İki diziyi birleştirme
Bu örnek ikinci bir diziden bütün elemanları eklemek için apply() kullanıyor.
var vegetables = ['parsnip', 'potato'];
var moreVegs = ['celery', 'beetroot'];
// İkinci diziyi birinciyle birleştir
// Şuna eşdeğer, vegetables.push('celery', 'beetroot');
Array.prototype.push.apply(vegetables, moreVegs);
console.log(vegetables); // ['parsnip', 'potato', 'celery', 'beetroot']
Şartnameler
| Şartname | Durum | Yorum |
|---|---|---|
| ECMAScript 3rd Edition (ECMA-262) | Standard | İlk tanım. JavaScript 1.2'de uygulandı. |
| ECMAScript 5.1 (ECMA-262) The definition of 'Array.prototype.push' in that specification. |
Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Array.prototype.push' in that specification. |
Standard |
Tarayıcı uyumu
| Özellik | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basit destek | 1.0 | 1.0 (1.7 or earlier) | 5.5 | (Yes) | (Yes) |
| Özellik | Android | Android için Chrome | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basit destek | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |