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) |