En son web geliştirme öğreticiler
 

JavaScript Diziler


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:

Örnek

var cars = ["Saab", "Volvo", "BMW"];
Kendin dene "

Spaces ve satır sonları önemli değildir. Bir bildirim birden fazla satır yayılabilir:

Örnek

var cars = [
    "Saab",
    "Volvo",
    "BMW"
];
Kendin dene "

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:

Örnek

var cars = new Array("Saab", "Volvo", "BMW");
Kendin dene "

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 :

Dizi:

var person = ["John", "Doe", 46];
Kendin dene "

Nesneler onun erişmek için adları kullanmak "members" . Bu örnekte, person.firstName döndürür John :

Nesne:

var person = {firstName:"John", lastName:"Doe", age:46};
Kendin dene "

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 »