JavaScript diziler tek bir değişken içinde birden fazla değer depolamak için kullanılır.
Diziler gösteriliyor
Bu dersimizde bir iç diziler görüntülemek için bir komut dosyası kullanacağız <p> ile eleman id="demo" :
Örnek
<p id="demo"></p>
<script>
var cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;
</script>
İlk satır (in the script) bir dizi adında arabalar oluşturur.
İkinci satır, "finds" ile eleman id="demo" ve "displays" Dizi "innerHTML" o .;
Kendin dene
Bir dizi oluşturur ve bu değerler atar:
Spaces ve satır sonları önemli değildir. Bir bildirim birden fazla satır yayılabilir:
Geçen öğeden sonra bir virgül koymak asla (like "BMW" ,) .
etki tarayıcılar arasında tutarsız.
Dizi nedir?
Bir dizi bir seferde birden fazla değer tutabilen özel değişkendir.
Eğer öğelerin bir listesi varsa (a list of car names, for example) , tek değişkenli otomobil depolamak bu gibi görünebilir:
var car1 = "Saab";
var car2 = "Volvo";
var car3 = "BMW";
Ancak, ne arabalar içinde döngü istiyorum ve belirli birini bulursan? Ve değil 3 araba, ama 300 olsaydı?
Çözelti bir dizidir!
Bir dizi tek isim altında birçok değer tutabilen ve bir indeks numarasına bakarak değerleri erişebilirsiniz.
Bir dizinin oluşturulması
Bir dizi değişmezi kullanarak bir JavaScript dizisi oluşturmak için en kolay yoludur.
Sözdizimi:
var array-name = [ item1 , item2 , ...];
Örnek:
var cars = ["Saab", "Volvo", "BMW"];
JavaScript Kelimeler Yeni Kullanılması
Aşağıdaki örnek de bir Array oluşturur ve buna değerleri atar:
iki örnek yukarıda tam olarak aynı şeyi. Kullanmaya gerek yoktur new Array() .
Basitlik, okunabilir ve işlem hızı için, ilk bir kullanımı (the array literal method) .
Bir dizi öğelerinin erişmek
Sen bakarak bir dizi elemanı bakın index number .
Bu ifade araçlarda ilk öğesinin değerini erişir:
var
name = cars[0];
Bu ifade araçlarda ilk elemanını değiştirir:
cars[0] = "Opel";
[0] , dizideki ilk unsurdur. [1] saniyedir. Dizi indeksleri 0 ile başlar.
One Array Farklı Nesneleri Var Can
JavaScript değişkenleri nesneler olabilir. Diziler nesnelerin özel türde.
Bu nedenle, aynı Array farklı türde değişken bulundurabilir.
Bir Array nesneleri sahip olabilir. Bir Array içinde işlevlere sahip olabilir. Bir Array dizileri sahip olabilir:
myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;
Diziler Nesneler vardır
Diziler nesnelerin özel bir türüdür. typeof JavaScript operatör döner "object" diziler için.
Ama, JavaScript diziler en iyi diziler olarak tarif edilmiştir.
Diziler kullanmak numbers onun erişmek için "elements" . Bu örnekte, person[0] döner John :
Nesneler onun erişmek için adları kullanmak "members" . Bu örnekte, person.firstName döndürür John :
Dizi Özellikleri ve Yöntemler
JavaScript diziler gerçek gücü yerleşik olan dizi özellikleri ve yöntemleri:
Örnekler
var x = cars.length;
// The length property returns the number of elements in cars
var y = cars.sort();
// The sort() method sort cars in alphabetical order
Dizi yöntemleri sonraki bölümde ele alınmıştır.
uzunluk Mülkiyet
length , bir dizinin özelliği, bir dizi (dizi elemanlarının sayısı) uzunluğu ile döner.
Örnek
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.length; // the length of fruits is 4
Kendin dene " length özelliği her zaman en yüksek dizi indeksi birden fazlasıdır.
Dizi Öğeleri Ekleme
bir dizi yeni bir öğe eklemek için en kolay yolu, itme yöntemi kullanarak:
Örnek
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Lemon"); // adds a new element (Lemon) to fruits
Kendin dene " Yeni elemanı kullanılarak bir dizi ilave edilebilir length özelliği:
Örnek
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Lemon"; // adds a new element (Lemon) to fruits
Kendin dene " UYARI!
Tanımlanmamış oluşturabilir yüksek dizin ile unsurları ekleme "holes" bir dizi içinde:
Örnek
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[10] = "Lemon"; // adds a new element (Lemon) to fruits
Kendin dene " Dizi Öğeleri Döngü
Bir kullanan bir dizi döngü için en iyi yolu "for" döngü:
Örnek
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>";
}
Kendin dene " çağrışımsal Diziler
Birçok programlama dilleri adlı endekslerine dizileri destekler.
Adlandırılmış endekslerine Diziler ilişkilendirilebilir diziler denir (or hashes) .
JavaScript adlı endekslerine diziler desteklemez.
JavaScript'inizde, diziler hep numaralı endeksleri kullanın.
Örnek
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"
Kendin dene " UYARI !!
Eğer bir adlandırılmış bir dizin kullanıyorsanız, JavaScript, standart bir nesneye diziyi yeniden belirleyecek.
Bundan sonra, bütün dizi yöntemleri ve özellikleri hatalı sonuçlar üretir.
Örnek:
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
Kendin dene " Diziler ve Nesneler Arasındaki Fark
JavaScript'inizde, diziler numaralı endeksleri kullanırlar.
JavaScript'inizde, nesneler endeksleri adlı kullanın.
Diziler numaralı dizinler ile nesnelerin özel bir tür vardır.
Ne zaman Diziler Kullanılır. Ne zaman Nesneleri kullanmak.
- JavaScript ilişkilendirilebilir diziler desteklemez.
- Eğer dizeleri olmak öğe adları istediğinizde nesneleri kullanmalıdır (text) .
- Eğer sayılar olmak öğe adları istediğinizde diziler kullanmalıdır.
Önlemek new Array()
JavaScript'in yerleşik dizi yapıcı kullanmaya gerek yoktur new Array() .
Kullan [] yerine.
Bu iki farklı tablolar hem yeni bir boş dizi adında noktaları oluşturun:
var points = new Array();
// Bad
var points = [];
// Good
Bu iki farklı tablolar hem 6 sayıları içeren yeni bir dizi oluşturmak:
var points = new Array(40, 100, 1, 5, 25, 10) // Bad
var points = [40, 100, 1, 5, 25, 10];
// Good
Kendin dene " new anahtar kelime sadece kod zorlaştırmaktadır. Ayrıca bazı beklenmeyen sonuçlar üretebilir:
var points = new Array(40, 100); // Creates an array with two elements (40 and 100)
Ben unsurlarından biri ne kaldırırsanız?
var points = new Array(40); // Creates an array with 40 undefined elements !!!!!
Kendin dene " Nasıl bir Array tanır için
Ortak bir soru: a değişkeni bir dizi olup olmadığını nasıl anlarım?
Sorun JavaScript operatör olmasıdır typeof döndürür "object" :
var fruits = ["Banana", "Orange", "Apple", "Mango"];
typeof fruits; // returns object
Kendin dene " bir dizidir bir amacı, çünkü Typeof operatör döner nesne.
Çözüm 1:
Bu sorunu çözmek için ECMAScript 5 yeni yöntem tanımlar Array. isArray() Array. isArray() :
Array.isArray(fruits); // returns true
Kendin dene " Bu çözüm sorun olduğunu ECMAScript 5 eski tarayıcılarda desteklenmez.
Çözüm 2:
Kendi oluşturabilirsiniz Bu sorunu çözmek için isArray() fonksiyonu:
function isArray(x) {
return
x.constructor.toString().indexOf("Array") > -1;
}
Kendin dene " değişken bir dizi ise, her zaman yukarıda işlevi doğru döndürür.
Ya da daha doğrusu: Nesne prototip kelimesini içeriyorsa doğru döner "Array" .
Çözüm 3:
instanceof bir amacı belirli bir yapıcısı tarafından oluşturulursa operatörü true döndürür:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits instanceof Array // returns true
Kendin dene " Egzersizleri ile Yourself test edin!
Egzersiz 1 » Alıştırma 2» Egzersiz 3 » Egzersiz 4» Egzersiz 5 »