--- title: Array.prototype.push() slug: Web/JavaScript/Reference/Global_Objects/Array/push tags: - Dizi - JavaScript - Metot - Prototype - Referans translation_of: Web/JavaScript/Reference/Global_Objects/Array/push ---
push()
metotu dizinin sonuna bir yada daha fazla element ekler ve dizinin yeni uzunluğunu geri döndürür.
arr.push(element1, ..., elementN)
elementN
Nesnenin yeni {{jsxref("Array.length", "length")}} özelliğini metotun çağrılması üzerine geri döndürür.
push
metotu değerleri bir diziye ekler.
push
kasıtlı olarak genelleyicidir. Bu metot benzeyen nesnelerin dizilerinde {{jsxref("Function.call", "call()")}} veya {{jsxref("Function.apply", "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 {{jsxref("Global_Objects/String", "strings", "", 1)}} olduğu halde stringlerin değişmez olduğu gibi bu metotun uygulamalarına uygun değildirler.
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
Bu örnek ikinci bir diziden bütün elemanları eklemek için {{jsxref("Function.apply", "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']
Şartname | Durum | Yorum |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | İlk tanım. JavaScript 1.2'de uygulandı. |
{{SpecName('ES5.1', '#sec-15.4.4.7', 'Array.prototype.push')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-array.prototype.push', 'Array.prototype.push')}} | {{Spec2('ES6')}} |
Özellik | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basit destek | {{CompatChrome("1.0")}} | {{CompatGeckoDesktop("1.7")}} | {{CompatIE("5.5")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Özellik | Android | Android için Chrome | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basit destek | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |