JavaScript Dizileri Hakkında Bilmediğiniz 3 Şey
Diziler programlama dillerinin yaygın olarak kullanılan bir özelliğidir; onlar özel değişkenler Aynı anda birden fazla değeri saklamak için kullanılabilir. Ancak, JavaScript söz konusu olduğunda, öğrenmesi olduğu kadar kolay, keşfedilmesi gereken daha çok şey var.
Bu yayında, daha önce bilmediğiniz üç JavaScript dizisinin daha az bilinen ancak önemli özelliklerine bakacağız..
1. Dizilere Özel Özellikler Ekleme
İnternet'te JavaScript dizilerinin tam bir tanımını aramaya çalışıyorsanız, başarısız olan hemen hemen her kaynağın diziyi ne olarak listeleyeceğini göreceksiniz. Gerçekten mi olduğu, bir obje.
Aslında, JavaScript'te ele aldığımız hemen hemen her şey bir nesne olduğu ortaya çıktı. JavaScript'te iki tür veri türü vardır, ilkel ve nesneleri, fakat ilkel nesneler her zaman nesnelerin içine sarılır..
Dizi, İşlev, Tarih vb. önceden tanımlanmış JavaScript nesneleri yerleşik yöntemleri, özellikleri ve kendi standart sözdizimi olan.
JavaScript dizileri olabilir üç farklı özellik türü:
- Bir dizinin indeksleri aynı zamanda özelliklerdir
- Yerleşik özellikler
- Özel özellikleri kendin ekleyebilirsin
İlk ikisi daha iyi bilinir, her gün kullanabilirsiniz, ancak bir diziye kendi özel mülkünüzü nasıl ekleyebileceğinize geçmeden önce bunları hemen görelim..
Özellik Olarak Endeksler
JavaScript dizileri köşeli ayraç sözdizimi, gibi var ary = ["portakal", "elma", "lychee"];
.
Dizi elemanlarının indeksleri temelde özellikleri nerede mülkiyet isimleri Hangi her zaman negatif olmayan tam sayılar.
dizin elemanı çifti bir dizi benzer anahtar / değer çifti bir nesnenin.
Dizinler, Array nesnesinin benzersiz bir özelliğidir ve diğer yerleşik özelliklerinden farklı olarak, bunlar Yalnız parantez sözdizimi ile ayarla, gibi ary [3] = "şeftali";
.
Yerleşik Özellikler
Dizilerde ayrıca var yerleşik özellikler, gibi Array.length
. uzunluk
özellik, tam sayı değeri olan bir dizinin uzunluğunu gösterir.
Genel olarak, yerleşik özellikler, diziler gibi önceden tanımlanmış JavaScript nesnelerinde sıklıkla bulunabilir. Yerleşik yöntemlerle birlikte yardımcı olurlar Genel nesneleri, nesnelerin farklı ihtiyaçlara uyacak şekilde özelleştirilmesi.
Yerleşik özelliklere aşağıdakilerden birine erişebilirsiniz: object.key
ya da [ "Anahtar"] nesne
sözdizimi. Böylece ayrıca yazabilirsiniz li [ "uzunluk"]
bir dizinin uzunluğuna erişmek için.
Dizi Nesnesi için Özel Özellikler Oluşturma
Şimdi konuşalım dizilere kendi özelliklerinizi ekleme. Diziler, farklı dizinlerde farklı değer türlerini depolayan önceden tanımlanmış nesnelerdir..
Bir diziye özel özellikler eklemeye genellikle gerek yoktur; Bu, yeni başlayanlara genellikle bu özellik hakkında öğretilmemesinin nedenlerinden biridir. Aslında, bir diziyi normal bir nesne gibi, ona anahtar-değer çiftleri ekleyerek ele almak istiyorsanız, Amacınız için normal bir nesne kullanın.. Ancak, bu olmadığı anlamına gelmez özel durumlar Bir dizinin bir nesne olduğu gerçeğinden, bir veya daha fazla özel özellik ekleyerek yararlanabilirsiniz..
Örneğin, bir diziye özel bir özellik ekleyebilirsiniz. elemanlarının "tür" veya "sınıfını" tanımlar, Aşağıdaki örnekte gördüğünüz gibi.
var ary = ["portakal", "elma", "lychee"]; ary.itemClass = "meyveler"; console.log (ary + "," + ary.itemClass); // "portakal, elma, lychee meyvelerdir"
Diziye eklediğiniz özel özelliklerin enumerable, Bu, gibi döngüler tarafından alınacak anlamına gelir için… içinde
Beyan.
2. Dizi Elemanları Üzerinden Döngü
Muhtemelen "Ben bunu zaten biliyorum" diyorsunuz, ki bu büyük olasılıkla doğru, dizi öğelerinde nasıl ilerleyeceğinizi zaten biliyorsunuz. Ama aynı zamanda "dizi elemanlarının arasından geçen döngü" demenin gerçekte neye dönüştüğümüz gibi biraz soyut olduğu da doğrudur. dizinin endeksleri.
Dizi indeksleri yalnızca negatif olmayan tam sayılar, tipik olarak sıfırdan başlayarak ve dizinin tam uzunluğu ile biten bir tamsayı değerini yineleriz, daha sonra belirli bir dizindeki dizi öğesine erişmek için bu yinelenen değeri kullanırız.
Ancak ECMAScript6’dan bu yana dizi değerleri arasında doğrudan döngü endeksleri rahatsız etmeden, ve bu kullanarak ... için
döngü.
Bir dizide, ... için
döngü dizi öğeleri arasında döngü olacak endeksler sırasına göre, Başka bir deyişle, endeksleri yinelemeye ve varolan dizi değeri belirli bir endekste. Bu döngü, yalnızca tüm dizi öğelerinde döngü oluşturmak ve onlarla çalışmak istiyorsanız idealdir..
var ary = ["portakal", "elma", "lychee"]; (ary'nin bıraktısı) için console.log (item); // "portakal", "elma", "lychee"
Karşılaştırma için düzenli için
döngü, çıktı olarak değerler yerine endeksleri alırız.
var ary = ["portakal", "elma", "lychee"]; (var öğe = 0; öğe < ary.length; item++) console.log(item); // 0, 1, 2
3. Eleman Sayısı Uzunluğu Değildir
Tipik olarak, hakkında konuştuğumuzda bir dizinin uzunluğu, Bir dizinin sahip olduğu değerin sayısını veya diziye elle verdiğimiz uzunluğu düşünüyoruz. Ancak gerçekte, bir dizinin uzunluğu mevcut en büyük endeks onun içinde.
Uzunluk bir çok esnek özellik. Önceden bir dizinin uzunluğunu önceden belirleyip sabitlemediğiniz, diziye değer eklemeye devam ederseniz, uzunluğu buna göre artmaya devam ediyor.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6
Yukarıdaki örnekte, dizine 5. dizinde yalnızca bir değer verdiğimi ve uzunluğu 6 değerine ulaştığımı görebilirsiniz. Şimdi, dizin 5'e bir değer ekleyerek, dizinin otomatik olarak 0 - 4 dizinlerini oluşturduğunu düşünüyorsanız , sonra senin varsayımın yanlış. Gerçekten var 0 ila 4 arasında mevcut indeks yok bu dizide. Bunu kullanarak kontrol edebilirsiniz. içinde
Şebeke.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 console.log (ary'de 0); // yanlış
Dizi ary
biz buna ne diyoruz "seyrek" dizi, endekslerin bulunduğu bir dizi sürekli yaratılmadı, ve boşluklar var. Bir "seyrek" dizinin tersi "yoğun" dizi Dizilerin dizide sürekli bulunduğu ve öğelerin sayısı uzunluk
.
uzunluk
özellik ayrıca dizi kısaltmak, Dizideki en yüksek dizinin daima kendinden az, gibi uzunluk
varsayılan olarak her zaman en yüksek dizinden sayısal olarak daha büyüktür.
Aşağıdaki örnekte, öğeyi 5. indeki öğeyi nasıl azalttığımızı azaltarak görebilirsiniz. uzunluk
arasında ary
dizi.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 ary.length = 2; console.log (ary.length); // 2 console.log (ary [5]); // Tanımsız
Daha fazla okuma
- Şimdilik bilmeniz gereken 10 JavaScript terimi
- 4 çok yaygın değil ama yararlı Javascript ifadeleri bilmeniz gereken
- JS Hint ile kod optimizasyonu - Javascript'i astarlamak için bir araç