var arabalar = ["Chevrolet", "Audi", "Passat"];
Dizi nedir?
var car1 = "Chevrolet"; var car2 = "Aveo"; var car3 = "Passat";
Dizi Oluşturma
var array_name = [item1, item2, ...];
var cars = ["Saab", "Volvo", "BMW"];
var arabalar = [ "Chevrolet", "Audi", "BMW" ];
JavaScript Anahtar Kelimesini Kullanma:new
var arabalar = new Array("Fiat", "Volvo", "Renault");
new Array ()
kullanmaya gerek yoktur.Dizinin Elemanlarına Erişme
var name = arabalar[0];
var cars = ["Chevrolet", "Volvo", "BMW"]; document.getElementById("demo").innerHTML = cars[0]; //Sonuç:Chevrolet
Dizi Öğesini Değiştirme
Bu ifade, arabalar ilk elemanın değerini değiştirir:
arabalar[0] = "Opel";
var cars = ["Chevrolet", "Volvo", "BMW"]; cars[0] = "Opel"; document.getElementById("demo").innerHTML = cars[0];
Tüm Diziye Erişme
var cars = ["Chevrolet", "Volvo", "BMW"]; document.getElementById("demo").innerHTML = cars;
Diziler Aynı Zamanda Nesnedir
var person = ["Murat", "Can", 20];
var kişi = {ad:"Ali", lastName:"Çakmak", age:20};
Dizi Öğeleri Nesne Olabilir
myArray[0] = Date.now; myArray[1] = myFunction; myArray[2] = myCars;
Dizi Özellikleri ve Yöntemleri
JavaScript dizilerinin gerçek gücü yerleşik dizi özellikleri ve yöntemleridir:
var x = cars.length; // length özelliğinde elemanların sayısı döner var y = cars.sort(); // sort() yönteminde ise dizeleri sıralarsınız
Length Özelliği
var meyveler = ["Banana", "Orange", "Apple", "Mango"]; meyveler.length; // Sonuç : 4
İlk Dizi Öğesine Erişim
meyveler = ["Erik","Kiraz","Cındık","Ceviz"]; var first = meyveler[0];
Son Dizi Öğesine Erişme
meyveler = ["Muz","Armut","Ceviz","Fındık"]; var last = meyveler[meyveler.length-1];
Dizi Öğelerinnde Döngü Oluşturma
Dizi öğelerinde en baş ağrıtmadan döngü oluşturmanın yolu for
kullanmaktır.
var fruits,text,flen,i; fruits = ["Banana","Orange","Apple","Mango"; flen = fruits.length; text = "<ul>"; for (i = 0; i<flen; i++) { text += "<li>" + fruits[i] + "</li>"; } text += "</ul>";
Yukarıdaki işlemin sonucu
- Banana
- Orange
- Apple
- Mango
Ayrıca Array.forEach()
fonksiyonunu da kullanabilirsiniz:
var fruits, text; fruits = ["Banana","Orange","Apple","Mango"]; text = "<ul>"; fruits.forEach(myFunction); text +="</ul>"; function myFunction(value) { text += "<li>" + value + "</li>"; }
Dizi Öğeleri Ekleme
Diziye kolayca bir öğe eklemek için push ()
kodunu kullanabiliriz:
var meyveler = ["Muz","Kivi","Elma","Armut"]; meyveler.push("Ceviz"); // bu kod meyveler dizesine eklenecektir.
Yeni bir öğe length
koduyla da ekleyebiliriz. Biliyorum bu bazen kafa karıştırıcı olabiliyor. Her uygulamanın bir kaç yoldan yapılış yöntemi var. Siz hangisi size uygunsa onu seçme kararlılığına sahip olmanız gerekiyor.
var sebzeler = ["Hıyar","Domates","Lahana","Marul"]; sebzeler[sebzeler.length] = "Turp"; //Sebzelere Turp ekleyecektir.
Peki 4 öğeli bir dizimiz olduğunu düşünelim. Bu dizimize 7.sıraya başka bir dizi eklediğimizde 5. ve 6. dizeye ne olur. Ben söyleyeyim undefined olur.
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits[6] = "Lemon"; // Burada 6.sıraya eklediğimiz Lemon öğesi diğer boş kalan satırları undefined olarak gösterir.
İlişkilendirilmiş Diziler
Bir çok programlama dili named indexes olayını destekler.
Named indexes diziler aynı zamanda associative arrays olarakta adlandırılır.
JavaScript named indexes olayını desteklemez. ,
JavaScript her zaman dizileri(arrays) numbered indexes olarak kullanır.
var person = []; person[0] = "John"; person[1] = "Doe"; person[2] = 46; var x = person.length; // person.length will return 3 var y = person[0]; // person[0] will return "John" Yukarıdaki kodda sonuç John 3
Kodda gördüğünüz gibi numaralandırma işlemiyle numbered indexes olayını anladınız.
var person = []; person["firstName"] = "John"; person["lastName"] = "Doe"; person["age"] = 46; var x = person.length; // person.length will return 0 var y = person[0]; // person[0] will return undefined Sonuç undefined 0
Diziler ve Nesneler Arasındaki Fark
Diziler Ne Zaman Kullanılmalı? Nesneler ne zaman kullanılır?
- Öğe adlarının sayı olmasını istediğinizde diziler kullanmalısınız.
- Öğe adlarının dize (metin) olmasını istediğinizde nesneleri kullanmalısınız.
Bu kodu kullanmayın: new Array()
new
Array() JavaScript’in yerleşik yapısında bunu kullanmanıza gerek yoktur.
[]
kullanın.var points = new Array(); // Bad var points = []; // Good
Aşağıdaki iki farklı durumda 6 numaralı bir dizi oluşturur.
var points = new Array(40, 100, 1, 5, 25, 10); // Kötü var points = [40, 100, 1, 5, 25, 10]; // İyi
new()
anahtar kelime yalnızca kodu karmaşıklaştırır. Ayrıca bazı beklenmedik sonuçlar da üretebilir:var points = new Array(40, 100); // Creates an array with two elements (40 and 100)
var points = new Array(40); // sonuç undefined!
Bir Diziyi Tanıma
var fruits = ["Banana", "Orange", "Apple", "Mango"]; typeof fruits; // returns object (Nesne)
Çözüm 1:
Array.isArray ()
tanımlar:Array.isArray(fruits); // returns true
Not: Bu problemin çözümü ECMAScript 5’in eski tarayıcılarda desteklenmemektedir.
Çözüm 2:
isArray ()
fonksiyonunu oluşturabilirsiniz:function isArray(x) { return x.constructor.toString().indexOf("Array") > -1; }
Çözüm 3:
İnstanceof
operatörü, belirli bir kurucu tarafından bir nesne oluşturulursa true değerini döndürür:var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits instanceof Array; // returns true