JavaScript'te çok boyutlu diziler. JavaScript'te iki boyutlu dizi Javascript dizisi çok boyutlu

Bu makalede, standart JavaScript sayısal olarak dizine alınmış dizilere bakacağız. Diziler köşeli parantezler kullanılarak bildirilir:

var meyveler = ["Elma", "Portakal", "Eşek"]

Bir öğeyi ayıklamak için dizinini köşeli parantez içine alın. İlk dizin 0:

var meyveler = ["Elma", "Portakal", "Eşek"] uyarı (meyveler) uyarı (meyveler) uyarı (meyveler)

Bir JavaScript dizisinin uzunluğunu da alabiliriz:

var meyveler = ["Elma", "Portakal", "Eşek"] uyarı (meyveler.uzunluk)

Hata! İki meyve ve bir eşek içeren bir dizi oluşturduk. Şimdi eşeği kaldırmamız gerekiyor.

Pop ve push yöntemleri

JavaScript'teki pop yöntemi, bir diziden bir öğeyi kaldırır ve onu döndürür.

Aşağıdaki örnek, Donkey'in bir diziden nasıl alındığını gösterir:

var meyveler = ["Elma", "Portakal", "Eşek"] uyarı ("Siliyorum" + meyveler.pop ()) // Artık sadece ["Elma", "Portakal"] uyarısı var ("Şimdi" dizinin boyutu : "+ meyveler.uzunluk) // eşek kaldırıldı

Pop öğesinin dizinin kendisini değiştirdiğini unutmayın.

Pop'un analogu, bir diziye bir öğe ekleyen push yöntemidir. Örneğin, bir şeftali eklemeyi unuttuk:

var meyveler = ["Elma", "Portakal"] meyveler.push ("Şeftali"); // artık ["Elma", "Portakal", "Şeftali"] uyarımız var ("Son öğe:" + meyveler)

  1. " öğeleriyle bir stiller dizisi oluşturun. Caz”, “maviler”;
  2. Değeri ekleyin" Rock'n'roll«;
  3. Sondan ikinci değeri " ile değiştirin Klasik". Bir dizi ile bitirmelisiniz: “ Caz”, ”Klasik”, ”Rock'n'roll”. Kod, dizinin herhangi bir uzunluğu için çalışmalıdır;
  4. Diziden son değeri çıkarın ve uyarın.

Çözüm

// 1 var stiller = ["Jazz", "Bluez"] // 2 style.push ("Rock" n "Roll") // veya: stiller = "Rock" n "Roll" // 3 stil = "Klasik "// 4 uyarı (styles.pop ())

Kaydırma / kaydırmayı kaldırma yöntemleri

Shift / unshift yöntemleri bir dizinin sonunda çalışır, ancak öğeleri yukarı kaydırmak için shift'i de kullanabilirsiniz ( dizinin ilk değeri, elemanların kaydırılmasıyla kaldırılır). unshift yöntemi, JavaScript'in bir diziye sondan bir öğe eklemesine izin verir:

var meyveler = ["Elma", "Portakal"] var elma = meyveler.shift () // şimdi sadece ["Portakal"] meyveler.unshift ("Limon") // artık elimizde ["Limon", " var Orange"] uyarı (meyveler.uzunluk) // 2

Hem shift hem de unshift aynı anda birden fazla öğe üzerinde çalışabilir:

var meyveler = ["Elma"] meyveler.push ("Portakal", "Şeftali") meyveler.unshift ("Ananas", "Limon") // şimdi dizi şöyle görünür: ["Ananas", "Limon", "Elma "," Portakal "," Şeftali "]

Kendi kendine çalışma ödevi

arr dizisinden uyarı yoluyla rastgele bir değer görüntülemek için bir kod yazın:

var arr = ["Erik", "Turuncu", "Eşek", "Havuç", "JavaScript"]

Not: Minimumdan maksimum değere (dahil) rastgele bir sayı alma kodu aşağıdaki gibidir:

var rand = min + Math.floor (Math.random () * (maks + 1-dk))

Çözüm

0 ile arr.length-1 (dahil) arasında rastgele bir sayı çıkarmamız gerekiyor:

var arr = ["Erik", "Orange", "Eşek", "Havuç", "JavaScript"] var rand = Math.floor (Math.random () * dizi.length) uyarı (dizi)

Bir dizi üzerinde yineleme

JavaScript'te bir dizi üzerinde yineleme, bir for döngüsü kullanılarak yapılır:

var meyveler = ["Ananas", "Limon", "Elma", "Portakal", "Şeftali"] for (var i = 0; i

Kendi kendine çalışma ödevi

Belirli bir dizide bir değer bulan ve dizinini döndüren bir bul (dizi, değer) işlevi oluşturun veya değer bulunamadıysa -1.

Örneğin:

dizi = ["test", 2, 1.5, yanlış] bul (dizi, "test") // 0 bul (dizi, 2) // 1 bul (dizi, 1.5) // 2 bul (dizi, 0) // -1

Çözüm

Olası bir çözüm şöyle görünebilir:

fonksiyon bul (dizi, değer) (for (var i = 0; i

Ancak bu doğru değildir, çünkü == 0 ile yanlış arasındaki farkı söylemez.

JavaScript'te dizilerle çalışırken === kullanmak daha doğrudur. Ayrıca, en son ES5 standardı, Dizi # indexOf işlevini içerir. Onun yardımıyla aşağıdaki gibi bir fonksiyon tanımlayabiliriz:

fonksiyon bul (dizi, değer) (if (array.indexOf) dizi.indexOf (değer) için (var i = 0; i) döndürür

indexOf yönteminin var olup olmadığını kontrol etmek için bir koşul aracılığıyla bulmayı tanımlamak daha da akıllıca olacaktır.

Kendi kendine çalışma ödevi

Bir diziyi alan ve yalnızca arr öğesinden sayısal değerleri içeren yeni bir dizi döndüren bir filterNumeric (arr) işlevi oluşturun.

Bunun nasıl çalışması gerektiğine dair bir örnek:

dizi = ["a", 1, "b", 2]; dizi = filtreSayısal (dizi); // şimdi dizi =

Çözüm

Çözüm, dizi üzerinde döngü yapmak ve sayısal ise yeni diziye değerler eklemektir.

katıl ve ayrıl

Bazen bir JavaScript dizisini bir dizgeye dönüştürmek için hızlı bir yola ihtiyacınız vardır. Birleştirme yöntemi bunun içindir.

Belirtilen sınırlayıcıyı kullanarak diziyi bir dizgede birleştirir:

var meyveler = ["Limon", "Elma", "Portakal", "Şeftali"]; var str = meyveler.join (","); uyarı (str);

Tersine dönüştürme, split yöntemiyle kolayca yapılır:

var meyveler = "Elma, Portakal, Şeftali"; var dizi = meyveler.split (","); // dizi şimdi ["Elma", "Portakal", "Şeftali"] uyarısını içeriyor (dizi);

Kendi kendine çalışma ödevi

Nesne, boşluklarla ayrılmış sınıf adlarını içeren bir className özelliği içerir:

cls sınıfını ekleyen, ancak yalnızca mevcut değilse, addClass (obj, cls) bir işlev yazın:

ddClass (obj, "new") // obj.className = "menü yeni aç" addClass (obj, "open") // değişiklik yok (sınıf zaten var) addClass (obj, "me") // obj.className = "menüyü aç yeni ben" uyarısı (obj.className) //

Çözüm

className ve döngüyü parçalara ayırmanız gerekir. Sınıf bulunamazsa eklenir.

Döngü, performansı artırmak için biraz optimize edilmiştir:

function addClass (elem, cls) (((var c = elem.className.split ("") için), i = c.length-1; i> = 0; i--) (if (c [i] == cls) ) dönüş) elem.className + = "" + cls) var nesne = (className: "menüyü aç") addClass (obj, "new") addClass (obj, "open") alert (obj.className) // menüyü aç yeni

Yukarıdaki örnekte, c değişkeni döngünün başında tanımlanır ve son indeksi i'ye ayarlanır.

Döngünün kendisi ters yönde işlenir ve i> = 0 koşuluyla biter. Çünkü i> = 0, i'den daha hızlı kontrol edilir. Hangi JavaScript'te bir dizide aramayı daha hızlı hale getirir.

Bir diziyi kırpmak için uzunluğu kullanma

length özelliğini kullanarak bir diziyi şu şekilde kırpabilirsiniz:

Uzunluğu verirsiniz ve tarayıcı diziyi keser.

Dizi bir nesnedir, yani

Aslında, JavaScript'te Dizi, otomatik uzunluk ayarı ve özel yöntemlerle tamamlanmış bir Nesnedir.

Bu, dizilerin bitişik bir bellek bölümünü temsil ettiği diğer dillerdeki kavramdan farklıdır. Ayrıca sıra veya yığın tabanlı bağlantılı listeden farklıdır.

Sayısal olmayan dizi tuşları

Anahtarlar sayılardır, ancak herhangi bir ada sahip olabilirler:

arr = arr = 5 arr.prop = 10 // bunu yapma

JavaScript'te diziler, performans avantajlarının yanı sıra dezavantajları da olan karma tablolardır.

Örneğin, push / pop yalnızca dizinin en dıştaki öğelerinde çalışır, bu nedenle inanılmaz derecede hızlıdırlar.

push yalnızca uçta çalışır:

var arr = ["Benim", "dizi"] arr.push ("bir şey") uyarısı (dizi) // string "dizi"

Shift / unshift yöntemleri tüm diziyi yeniden numaralandırmaları gerektiğinden yavaştır. Ekleme yöntemi, numaralandırmayı da değiştirebilir:

Bu nedenle, kaydırma/değiştirme, basma/açma işleminden daha yavaştır. Dizi ne kadar büyük olursa, diziyi sıralamak için JavaScript o kadar uzun sürer.

Kendi kendine çalışma ödevi

Sonuç ne olacak? Niye ya?

arr = ["a", "b"] arr.push (işlev () (uyarı (bu))) arr () //?

Çözüm

Diziler nesneler olduğundan, arr .. aslında obj gibi bir nesnenin yöntemine yapılan bir çağrıdır yöntem:

arr () // arr () ile aynı // sözdizimsel olarak yanlış, ancak kavramsal olarak aynı: arr.2 () // obj.method () ile aynı stilde yeniden yazılmış bu = arr bu durumda fonksiyona iletilir, böylece arr içeriği çıktı. arr = ["a", "b"] arr.push (işlev () (uyarı (bu))) arr () // "a", "b", işlev

Seyrek diziler, uzunluk açıklaması

length özelliği, JavaScript'teki dizinin boyutunu değil, son dizin + 1'i elde etmenizi sağlar. Bu, dizinlerde "boşluklar" bulunan seyrek diziler söz konusu olduğunda önemlidir.

Aşağıdaki örnekte, boş meyvelere iki öğe ekleyeceğiz, ancak uzunluk 100'de kalıyor:

var meyveler = // boş dizi meyveler = "Şeftali" meyveler = "Elma" uyarısı (meyveler.uzunluk) // 100 (ancak dizide sadece 2 eleman var)

Seyrek bir dizi çıktısı almaya çalışırsanız, tarayıcı eksik dizinleri boş öğeler olarak görüntüler:

var meyveler = // boş dizi meyveler = "Şeftali" meyveler = "Elma" uyarısı (meyveler) //, Şeftali, Elma (veya buna benzer bir şey)

Ancak bir dizi, iki anahtarı olan bir nesnedir. Eksik değerler yer kaplamaz.

Seyrek diziler, kendilerine dizi yöntemleri uygulandığında garip davranır. Dizinlerin eksik olduğu hakkında hiçbir fikirleri yok:

var meyveler = meyveler = "Şeftali" meyveler = "Elma" uyarısı (meyveler.pop ()) // "Elma" (dizin 9'da) uyarısı (meyveler.pop ()) // ayarlanmamış bir öğeyi dışarı çıkar (dizinde) 8)

Seyrek dizilerden kaçınmaya çalışın. Her neyse, yöntemleri işe yaramayacak. Bunun yerine Object'i kullanın.

Bir diziden çıkarma

Bildiğimiz gibi, diziler nesnelerdir, bu yüzden değeri silmek için delete kullanabiliriz:

var arr = ["Go", "to", "home"] arr'ı sil // şimdi arr = ["Go", undefined, "home"] uyarı (arr) // ayarlanmadı

Dizi, belirtilmemiş bir öğe içerdiğinden, değerin kaldırıldığını ancak bizim istediğimiz şekilde olmadığını görebilirsiniz.

Silme operatörü, bir anahtar/değer çiftini siler, hepsi bu. Doğal olarak, bir dizi yalnızca bir karma olduğundan, kaldırılan öğenin konumu tanımsız hale gelir.

Çoğu zaman, endeksler arasında herhangi bir "delik" bırakmadan bir öğeyi silmemiz gerekir. Bu konuda bize yardımcı olacak başka bir yöntem daha var.

Ekleme yöntemi

Ekleme yöntemi, JavaScript çok boyutlu dizilerindeki öğeleri kaldırabilir ve değiştirebilir. Sözdizimi:

arr.splice (index, deleteCount [, elem1, ..., elemN])

Dizinden başlayarak deleteCount öğesini siler ve ardından onun yerine elem1,…, elemN öğesini ekler.

Birkaç örneğe bakalım:

var arr = ["Go", "to", "home"] arr.splice (1, 1) // index 1'den başlayarak 1 öğeyi kaldır uyarısı (arr.join (",")) // ["Git " ," ana sayfa "] (1 öğe kaldırıldı)

Bu şekilde, diziden bir öğeyi kaldırmak için ekleme kullanabilirsiniz. Dizi elemanı numaraları, boşluğu doldurmak için kaydırılır:

var arr = ["Go", "to", "home"] arr.splice (0, 1) // dizinden başlayarak 1 öğeyi kaldır 0 alert (dizi) // "to" ilk öğe oldu

Aşağıdaki örnek, öğelerin nasıl değiştirileceğini gösterir:

Ekleme yöntemi, kaldırılan öğelerin bir dizisini döndürür:

var arr = ["Git", "git", "ev", "şimdi"]; // ilk 2 öğeyi kaldır var kaldırıldı = arr.splice (0, 2) uyarı (kaldırıldı) // "Git", "to"<-- массив удаленных элементов splice может вставлять элементы, задайте 0 для deleteCount. var arr = ["Go", "to", "home"]; // со второй позиции // удаляем 0 // и вставляем "my", "sweet" arr.splice(2, 0, "my", "sweet") alert(arr) // "Go", "to", "my", "sweet", "home"

Bu yöntem, dizinin sonundan itibaren sayılan bir negatif dizin de kullanabilir:

var arr = // eleman -1 için (sondan bir önceki) // 0 elemanı kaldır // ve 3 ve 4 arr.splice (-1, 0, 3, 4) ekleyin uyarı (dizi) // 1,2,3, 4.5

Kendi kendine çalışma ödevi

Nesne, boşluklarla ayrılmış sınıf adlarını içeren bir className özelliği içerir:

var obj = (className: "menüyü aç")

Eğer verilmişse cls sınıfını kaldıran bir removeClass (obj, cls) işlevi yazın:

removeClass (obj, "open") // obj.className = "menu" removeClass (obj, "blabla") // değişiklik yok (kaldırılacak sınıf yok)

Çözüm

className'i parçalara ayırmanız ve bu parçalar üzerinde döngü oluşturmanız gerekir. Bir eşleşme bulunursa, JavaScript nesne dizisinden kaldırılır ve ardından tekrar sona eklenir.

Bunu biraz optimize edelim:

function removeClass (elem, cls) ((var c = elem.className.split ("") için, i = c.length-1; i> = 0; i--) (if (c [i] == cls) ) c.splice (i, 1)) elem.className = c.join ("")) var nesne = (className: "menüyü aç") removeClass (obj, "open") removeClass (obj, "blabla") uyarısı (obj.className) // menü

Yukarıdaki örnekte, c, döngünün başlangıcında, i ise son dizinine ayarlanmıştır.

Döngünün kendisi ters yönde ilerler ve i> = 0 koşuluyla biter. Bunun nedeni, i> = 0'ın i'den daha hızlı test edilmesidir. Bu, c'de bir özellik aramayı hızlandırır.

dilim yöntemi

Slice (begin [, end]) yöntemini kullanarak bir dizinin bir kısmını çıkartabilirsiniz: var arr = ["Neden", "learn", "JavaScript"]; var arr2 = arr.slice (0,2) // 0 uyarıdan başlayarak 2 öğe alır (arr2.join (",")) // "Neden, öğren"

Bu yöntemin JavaScript'teki dizideki öğelerin sayısını değiştirmediğini, bunun bir kısmını kopyaladığını unutmayın.

Tüm öğeleri belirli bir dizinde başlatmak için ikinci argümanı atlayabilirsiniz:

var arr = ["Neden", "öğren", "JavaScript"]; var arr2 = arr.slice (1) // 1 uyarı ile başlayan tüm öğeleri kabul eder (arr2.join (",")) // "learn, JavaScript"

Yöntem, tıpkı String # dilim gibi negatif endeksleri destekler.

Ters yöntem

Bir başka yararlı yöntem ise tersidir. Alanın son bölümünü almak istediğimi varsayalım, örneğin, " com"İtibaren" benim.sitem.com”. Bunu şu şekilde yapabilirsiniz:

var domain = "my.site.com" var last = domain.split ("."). reverse () uyarı (son)

JavaScript dizilerinin, bir yöntemi çağırmak ve ardından ortaya çıkan diziden bir öğe almak için karmaşık bir sözdizimini (ters ()) desteklediğini unutmayın.

Ters () gibi daha uzun aramalar yapabilirsiniz. 0] dizi.sort () uyarı (dizi) // 1, 15, 2

Yukarıdaki kodu çalıştırın. 1, 15, 2 sırasını alacaksınız. Bunun nedeni, yöntemin her şeyi bir dizgeye dönüştürmesi ve varsayılan sözlük sırasını kullanmasıdır.

Bir önceki makalede, ne olduğu ve onunla nasıl çalışılacağı hakkında konuştuk. Bu yazıda zaten bahsedeceğiz çok boyutlu dizi.

Aynı zamanda dizi olan bir veya daha fazla öğeye sahip bir dizidir. Reklamın derinliğine bağlı olarak, özellikle şu şekilde adlandırılabilir: iki boyutlu dizi(2 seviye) ya üç boyutlu dizi(3 seviye) ya dört boyutlu(4 seviye) vb.

Tek boyutlu diziden sonra en popüler olanı iki boyutlu dizidir. Daha ayrıntılı olarak inceleyeceğiz.


Gördüğünüz gibi, iki boyutlu bir dizinin elemanları tek boyutlu dizilerdir. Bu tek boyutlu diziler daha fazla dizi içeriyorsa, arr dizisi zaten üç boyutlu olurdu.

Örneğin, üç basit dizi oluşturalım ve bunları verilerle dolduralım. İlkini çift sayılarla, ikincisini tek sayılarla ve üçüncüyü bazı keyfi verilerle dolduracağız.

// Üç boş dizi bildir var bileNumbers = new Array(); // k Değişkeni - dizi indeksleri için bileNumbers var k = 0; var oddNumbers = new Array(); // n Değişkeni - dizi indeksleri için tekSayılar var n = 0; var data = new Array ("araba", "uçak", doğru, 89, "m"); // çift sayılar dizisini çift sayılarla doldurun (var i = 1; i

Dizinin içinde ne olduğunu görmek için aşağıdaki gibi bir araç kullanabilirsiniz. konsol.

Örneğin, tek sayılar tek sayı olan bir dizinin içeriğini görmek istiyoruz. Bunu yapmak için aşağıdaki kodu aşağıdaki satırı yazın:

Console.log (tekSayılar);

Sonucu görmek için açmanız gerekir. tarayıcıda konsol... Google Chrome'da bu şu şekilde yapılır: sayfaya sağ tıklayın ve içerik menüsünden son “Kodu görüntüle” seçeneğini, yani denetçiyi seçin. İngilizce sürümde bu seçeneğe Inspect denir.


Ve geliştirici araç çubuğunun altında görünecektir. İçinde Konsol sekmesine gitmeniz gerekir.


şimdi için iki boyutlu bir dizi oluştur, bunu bildirmeniz ve yukarıda oluşturduğunuz tek boyutlu dizileri buna eklemeniz gerekir.

// TwoDimens iki boyutlu bir dizi tanımlayın ve onu doldurun var ikiDimens = new Array (evenNumbers, oddNumbers, data); konsol.log (iki Boyut);

Konsolda bu dizinin içeriğini görelim.


iki boyutlu bir dizi üzerinde yineleme

Önce öğrenelim iki boyutlu bir dizinin elemanlarına nasıl erişilir.

Tekli dizilerde olduğu gibi, elemanlara indeksleri ile erişilir.

Örneğin, tek sayılı (oddNumbers) bir diziden 3. dizinindeki öğeyi görüntüleyelim. TwoDimens iki boyutlu dizisindeki tek boyutlu tek Sayılar dizisinin dizini bir (1)'dir.

Document.write ("oddNumbers tek sayılar dizisinden dizin 3'e sahip öğe:" + ikiDimens); // Öğe: 7

TwoDimens dizisinde, indeks 1'deki elemana atıfta bulunuruz. Bu indeksteki eleman, oddNumbers dizisidir. Ve bu dizide, 7 sayısı olan 3 dizinli öğeye zaten erişiyoruz.

Şimdi sorunun kendisine geçelim iki boyutlu bir dizi üzerinde nasıl yinelenir.

İki boyutlu bir dizi üzerinde döngü, çift döngü kullanılarak yapılır. Örneğin, ikiDimens dizimizi yineleyelim.

için (var i = 0; i< twoDimens.length; i++){ for(var j = 0; j < twoDimens[i].length; j++){ document.write("

İndeksli eleman "+ ben +" "+ j +" eşittir: "+ iki Boyut [i] [j] +"

"); } }

İlk döngüde, twoDimens dizisinin kendisini yineliyoruz. İkinci döngüde, elemanın kendisi (dizi) üzerinde zaten yineliyoruz. İlk olarak, i değişkeni 0'a eşittir. Bu nedenle, ikinci döngüde, ilk önce indeksi 0 olan ilk çift sayılar dizisi üzerinde yineleniriz. Ve zaten ikinci döngünün içinde, bu dizinin öğelerine erişiriz. Böylece: iki Boyut [j]. j, 0'dan bileNumbers dizisinin uzunluğuna kadar değişir.

İlk dizideki öğeleri yineledikten sonra, ilk döngüye dönüyoruz, i değişkenini artırıyoruz ve dizin 1'e sahip ikinci tek Sayılar dizisi üzerinde yinelemeye devam ediyoruz. Böylece, iki boyutlu dizinin her bir öğesi üzerinde yineliyoruz. dizi iki Boyut.

Şimdi bu aramanın sonucuna bakalım:


Bu yazıda bahsetmek istediğim tek şey buydu. Artık iki boyutlu bir dizinin nasıl oluşturulacağını, iki boyutlu bir dizinin öğelerine nasıl erişileceğini ve iki boyutlu bir dizi üzerinde nasıl yineleneceğini biliyorsunuz. Umarım her şey açıktı. Size büyük başarılar diliyorum!

diziler

Dizi sıralı bir değerler topluluğudur. Bir dizideki değerlere öğe adı verilir ve her öğe dizide dizin adı verilen sayısal bir konumla karakterize edilir. JavaScript'teki diziler tipsizdir: bir dizinin elemanları herhangi bir tipte olabilir ve aynı dizinin farklı elemanları farklı tiplerde olabilir. Dizi öğeleri, nesneler veya diğer diziler bile olabilir; bu, nesne dizileri ve dizi dizileri gibi karmaşık veri yapıları oluşturmanıza olanak tanır.

JavaScript'teki dizi indeksleri sıfır tabanlıdır ve 32-bit tamsayılar kullanır — bir dizinin ilk elemanının indeksi 0'dır. JavaScript dizileri dinamiktir: gerektiğinde büyüyebilir ve küçülebilirler; Oluşturulduklarında dizilerin sabit boyutlarını bildirmeye veya yeniden boyutlandırıldıklarında belleği yeniden tahsis etmeye gerek yoktur.

JavaScript'teki diziler, nesnelerin özel bir biçimidir ve dizi indeksleri, tesadüfen tamsayı olan özellik adlarından biraz daha fazlasını ifade eder.

Diziler oluşturma

Bir dizi oluşturmanın en kolay yolu, köşeli parantez içindeki dizi öğelerinin virgülle ayrılmış basit bir listesi olan bir hazır bilgidir. Bir dizi değişmezindeki değerlerin sabit olması gerekmez - bunlar, nesne değişmezleri de dahil olmak üzere herhangi bir ifade olabilir:

Var boş =; // Boş dizi var sayılar =; // Beş sayısal elemanlı dizi var misc = [1.1, true, "a",]; // 3 farklı türde eleman + sondaki virgül var base = 1024; var tablo =; // Değişkenli dizi var arrObj = [,]; // nesneleri içeren 2 dizi

Dizi değişmez sözdizimi, isteğe bağlı bir son virgül eklemenize izin verir, ör. değişmez [,] bir diziyle üç değil, iki öğeyle eşleşir.

Dizi oluşturmanın başka bir yolu da yapıcıyı çağırmaktır. Dizi ()... Yapıcı üç farklı şekilde çağrılabilir:

    Oluşturucuyu argüman olmadan çağırın:

    Var dizi = yeni Dizi ();

    Bu durumda, değişmeze eşdeğer boş bir dizi oluşturulacaktır.

    Dizinin uzunluğunu belirten tek bir sayısal argümanla yapıcıyı çağırın:

    Var dizi = yeni Dizi (10);

    Bu durumda, belirtilen uzunlukta boş bir dizi oluşturulacaktır. Array() yapıcısını çağırmanın bu biçimi, öğelerinin sayısı önceden biliniyorsa, bir dizi için belleği önceden ayırmak için kullanılabilir. Bunun dizide herhangi bir değer saklamadığını unutmayın.

    Bir yapıcı çağrısında ilk iki veya daha fazla dizi öğesinin veya sayısal olmayan bir öğenin değerlerini açıkça belirtin:

    Var dizi = new Dizi (5, 4, 3, 2, 1, "test");

    Bu durumda, yapıcının argümanları, yeni dizinin öğelerinin değerleri haline gelir. Dizi değişmezlerini kullanmak, Array() yapıcısını bu şekilde kullanmaktan neredeyse her zaman daha kolaydır.

Dizi öğelerini okuma ve yazma

Dizi elemanlarına operatör kullanılarak erişilir. Parantezlerin solunda bir dizi referansı olmalıdır. Negatif olmayan bir tamsayı değeri döndüren rastgele bir ifade parantez içinde olmalıdır. Bu sözdizimi, bir dizi öğesinin değerini hem okumak hem de yazmak için uygundur. Bu nedenle, aşağıdaki JavaScript ifadelerinin tümü geçerlidir:

// Tek elemanlı bir dizi yarat var arr = ["world"]; // Öğeyi oku 0 var değer = arr; // Değeri eleman 1 arr = 3.14'e yaz; // Öğe 2'ye değeri yazın i = 2; dizi [i] = 3; // eleman 3'e bir değer yazın arr = "merhaba"; // 0 ve 2 numaralı maddeleri okuyun, 3 numaralı öğeye değeri yazın arr] = arr;

Dizilerin özel bir tür nesne olduğunu hatırlatmama izin verin. Dizi öğelerine erişmek için kullanılan köşeli parantezler, bir nesnenin özelliklerine erişmek için kullanılan köşeli parantezlerle tamamen aynı işlevi görür. JavaScript yorumlayıcısı, parantez içindeki sayısal dizinleri dizelere dönüştürür - dizin 1 "1" dizesi olur - ve ardından dizeleri özellik adları olarak kullanır.

Sayısal dizinleri dizgelere dönüştürmenin özel bir yanı yoktur: aynısı normal nesnelerle de yapılabilir:

Var nesne = (); // Basit bir nesne oluşturun obj = "bir"; // tamsayılarla indeksle

Dizilerin özelliği, negatif olmayan tamsayılar olan özellik adlarını kullanırken, dizilerin özelliğin değerini otomatik olarak belirlemesidir. uzunluk... Örneğin, arr dizisi yukarıda tek bir elemanla oluşturuldu. Daha sonra 1, 2 ve 3 indisleri ile elemanlarına değerler atanmıştır. Bu işlemler sonucunda dizinin uzunluk özelliğinin değeri değişerek 4'e eşit olmuştur.

Bir dizideki dizinler ile nesne özellik adları arasında net bir şekilde ayrım yapmalısınız. Tüm dizinler özellik adlarıdır, ancak yalnızca tamsayı adlarına sahip özellikler dizinlerdir. Tüm diziler nesnelerdir ve bunlara herhangi bir adla özellikler ekleyebilirsiniz. Ancak, dizi indeksleri olan özelliklere dokunursanız, diziler, uzunluk özelliğinin değerini gerektiği gibi güncelleyerek tepki verir.

Dizi indeksleri olarak negatif ve tamsayı olmayanlara izin verildiğini unutmayın. Bu durumda, sayılar özellik adları olarak kullanılan dizelere dönüştürülür.

Dizi Elemanları Ekleme ve Kaldırma

Bir diziye eleman eklemenin en kolay yolunun yeni indekslere değer atamak olduğunu daha önce görmüştük. Bir dizinin sonuna bir veya daha fazla öğe eklemek için yöntemi de kullanabilirsiniz. itmek ():

Var arr =; // Boş bir dizi oluştur arr.push ("sıfır"); // Sona bir değer ekle arr.push ("one", 2); // İki değer daha ekle

arr öğesine bir değer atayarak dizinin sonuna bir öğe de ekleyebilirsiniz. Bir dizinin başına bir eleman eklemek için yöntemi kullanabilirsiniz. kaydırmayı kaldır () ve dizideki mevcut elemanlar daha yüksek indekslere kaydırılır.

Nesnelerin sıradan özellikleri gibi, silme operatörünü kullanarak bir dizinin öğelerini silebilirsiniz:

Var arr =; diziyi sil; 2 arr; // false, dizideki dizin 2 tanımsız dizi.uzunluk; // 3: silme operatörü dizinin uzunluk özelliğini değiştirmez

Bir öğeyi kaldırmak, o öğeye tanımsız bir değer atamaya benzer (ancak biraz farklıdır). Bir dizideki bir öğeye silme operatörünün uygulanması, uzunluk özelliğinin değerini değiştirmez ve öğe silindikten sonra kalan boşluğu doldurmak için daha yüksek endeksli öğeleri aşağı kaydırmaz.

Ayrıca, length özelliğine yeni bir değer atayarak bir dizinin sonundaki öğeleri kaldırmak mümkündür. Dizilerin bir yöntemi vardır pop ()(Push()'un tersi), dizinin uzunluğunu 1 azaltır ve kaldırılan öğenin değerini döndürür. yöntemi de var vardiya ()(unshift() öğesinin tersi), dizinin başındaki öğeyi kaldırır. Silme operatörünün aksine, shift () yöntemi, tüm öğeleri geçerli dizinlerinin bir konum aşağısına kaydırır.

Son olarak, çok amaçlı bir yöntem var. ek (), dizilerin öğelerini eklemenize, silmenize ve değiştirmenize olanak tanır. Uzunluk özelliğinin değerini değiştirir ve gerektiğinde daha düşük veya daha yüksek indeksli dizinin öğelerini kaydırır. Tüm bu yöntemlerden biraz sonra bahsedeceğiz.

Çok boyutlu diziler

JavaScript "gerçek" çok boyutlu dizileri desteklemez, ancak dizilerden dizileri kullanarak onları taklit etme konusunda iyi bir iş çıkarır. Bir dizi dizisindeki bir veri öğesine erişmek için operatörün iki kez kullanılması yeterlidir.

Örneğin, değişken matrisinin bir dizi sayı dizisi olduğunu varsayalım. [x] matrisinin her elemanı bir sayı dizisidir. Bir dizideki belirli bir sayıya erişmek için [x] [y] ifade matrisini kullanabilirsiniz. Aşağıda iki boyutlu bir dizinin çarpım tablosu olarak kullanıldığı özel bir örnek verilmiştir:

// Çok boyutlu bir dizi oluştur var table = new Array (10); // Tabloda (var i = 0; i) için 10 satır var

Dizi Sınıfı Yöntemleri

ECMAScript 3 standardı, herhangi bir dizinin yöntemi olarak kullanılabilen Array.prototype'ın bir parçası olarak dizilerle çalışmak için birçok kullanışlı işlevi tanımlar. Bu yöntemler aşağıdaki alt bölümlerde sunulacaktır.

Birleştirme () yöntemi

Array.join() yöntemi, dizideki tüm öğeleri dizelere dönüştürür, bunları birleştirir ve elde edilen dizeyi döndürür. Sonuç dizesindeki öğeleri ayırmak için kullanılacak bir dizeyle yönteme isteğe bağlı bir argüman iletilebilir. Sınırlayıcı dize belirtilmezse virgül kullanılır. Örneğin, aşağıdaki kod parçası "1,2,3" dizesiyle sonuçlanır:

Var arr =; arr.join(); // "1,2,3" arr.join ("-"); // "1-2-3"

Ters () yöntemi

Array.reverse () yöntemi, bir dizideki öğelerin sırasını tersine çevirir ve yeniden sıralanmış bir dizi döndürür. Permütasyon doğrudan orijinal dizide yapılır, yani. bu yöntem, yeniden sıralanmış öğelerle yeni bir dizi oluşturmaz, ancak bunları zaten var olan bir dizide yeniden sıralar. Örneğin, reverse () ve join () yöntemlerini kullanan aşağıdaki snippet, "3,2,1" dizesiyle sonuçlanır:

Var arr =; arr.reverse().birleştir(); // "3,2,1"

Sıralama () yöntemi

Array.sort() yöntemi, orijinal dizideki öğeleri sıralar ve sıralanan diziyi döndürür. sort() argüman olmadan çağrılırsa, sıralama alfabetik olarak yapılır (karşılaştırma için, gerekirse öğeler geçici olarak dizelere dönüştürülür). Tanımsız elemanlar dizinin sonuna sarılır.

Alfabetik olmayan diğer herhangi bir sırada sıralamak için sort() işlevine argüman olarak bir karşılaştırma işlevi iletebilirsiniz. Bu işlev, sıralanan listede iki argümanından hangisinin önce geleceğini belirler. İlk argümanın ikinciden önce olması gerekiyorsa, karşılaştırma işlevi negatif bir sayı döndürmelidir. İlk argüman sıralanmış dizide ikinciyi takip edecekse, fonksiyon sıfırdan büyük bir sayı döndürmelidir. Ve eğer iki değer eşdeğer ise (yani sıra önemli değilse), karşılaştırma fonksiyonu 0 döndürmelidir:

Var arr =; dizi.sort(); // Alfabetik sıra: 1111, 222, 33, 4 dizi.sort (işlev (a, b) (// Sayısal sıra: 4, 33, 222, 1111 dönüş ab; // Sıralamaya bağlı olarak 0 değerini döndürür // a ve b) sıralayın); // En yüksekten en düşüğe doğru sırala arr.sort (işlev (a, b) (b-a döndür));

Bu pasajda adsız bir işlevi kullanmanın ne kadar uygun olduğuna dikkat edin. Karşılaştırma işlevi yalnızca burada kullanılır, bu nedenle ona bir ad vermeye gerek yoktur.

concat() yöntemi

Array.concat() yöntemi, concat() yönteminin çağrıldığı orijinal dizinin öğelerini ve concat() yöntemine iletilen herhangi bir bağımsız değişkenin değerlerini içeren yeni bir dizi oluşturur ve döndürür. Bu bağımsız değişkenlerden herhangi birinin kendisi bir diziyse, öğeleri döndürülen diziye eklenir. Bununla birlikte, bir dizinin dizilerden tek boyutlu bir diziye özyinelemeli bir dönüşümü olmadığına dikkat edilmelidir. concat () yöntemi orijinal diziyi değiştirmez. Aşağıda bazı örnekler verilmiştir:

Var arr =; dizi.concat (4, 5); // arr.concat() değerini döndürür; // arr.concat (,) döndürür // arr.concat (4,]) döndürür // döndürür]

Dilim () yöntemi

Array.slice() yöntemi, belirtilen dizinin bir dilimini veya alt dizisini döndürür. Yöntemin iki argümanı, döndürülen yığının başlangıcını ve sonunu tanımlar. Döndürülen dizi, ilk bağımsız değişkende numaralandırılmış öğeyi ve ikinci bağımsız değişkende numaralandırılmış öğeye kadar (ancak dahil değil) sonraki tüm öğeleri içerir.

Yalnızca bir argüman belirtilirse, döndürülen dizi, dizinin başlangıç ​​konumundan sonuna kadar tüm öğeleri içerir. Argümanlardan herhangi biri negatifse, dizinin sonuna göre eleman numarasını belirtir. Böylece, argüman -1 dizinin son öğesine karşılık gelir ve argüman -3, dizinin sondan üçüncü öğesine karşılık gelir. İşte bazı örnekler:

Var arr =; dizi.slice (0.3); // dizi.slice (3) döndürür; // dizi.slice (1, -1) döndürür; // dizi.slice (-3, -2) döndürür; // Geri dönücek

Ekleme () yöntemi

Array.splice () yöntemi, bir diziye öğe ekleyen veya diziden öğe çıkaran genel bir yöntemdir. Slice () ve concat () yöntemlerinden farklı olarak, splice () yöntemi, çağrıldığı orijinal diziyi değiştirir. Ekleme () ve dilim () yöntemlerinin çok benzer adlara sahip olduğunu ancak tamamen farklı işlemler gerçekleştirdiğini unutmayın.

splice () yöntemi, bir diziden öğeleri kaldırabilir, yeni öğeler ekleyebilir veya her ikisini de aynı anda yapabilir. Dizinin öğeleri gerektiği gibi kaydırılır, böylece ekleme veya silme işleminden sonra bitişik bir dizi oluşturulur.

splice () yönteminin ilk argümanı, dizideki eklenecek ve/veya silinecek konumu belirtir. İkinci argüman diziden kaldırılacak (kesilecek) eleman sayısını belirtir. İkinci argüman atlanırsa, belirtilen diziden dizinin sonuna kadar tüm dizi öğeleri kaldırılır. splice () yöntemi, kaldırılan öğelerin bir dizisini veya (elemanların hiçbiri kaldırılmamışsa) boş bir diziyi döndürür.

splice () yönteminin ilk iki argümanı, kaldırılacak dizi öğelerini belirtir. Bu argümanları, ilk argümanda belirtilen konumdan başlayarak diziye eklenecek öğeleri belirten herhangi bir sayıda ek argüman takip edebilir.

Var arr =; dizi. ek yeri (4); // dizi = dizi.splice (1,2); // dizi = dizi.splice (1,1) döndürür; // Geri dönücek; dizi = dizi =; dizi.splice (2,0, "a", "b"); // Geri dönücek; arr =

Push () ve pop () yöntemleri

Push () ve pop () yöntemleri, dizilerin yığınlar gibi ele alınmasına izin verir. Push () yöntemi, dizinin sonuna bir veya daha fazla yeni öğe ekler ve yeni uzunluğunu döndürür. pop() yöntemi tam tersi işlemi gerçekleştirir - dizinin son öğesini kaldırır, dizinin uzunluğunu azaltır ve kaldırdığı değeri döndürür. Bu yöntemlerin her ikisinin de değiştirilmiş bir kopyasını oluşturmak yerine orijinal diziyi değiştirdiğini unutmayın.

unshift() ve shift() Yöntemleri

unshift () ve shift () yöntemleri, öğeleri dizinin sonuna değil, başına ekleyip çıkarmaları dışında, push () ve pop () ile hemen hemen aynı şekilde davranır. unshift () yöntemi, yer açmak için mevcut öğeleri daha büyük dizinlere kaydırır, öğeyi veya öğeleri dizinin başına ekler ve dizinin yeni uzunluğunu döndürür. shift () yöntemi, dizinin ilk öğesini kaldırır ve döndürür, sonraki tüm öğeleri dizinin başında boşalan alanı doldurmak için bir konum aşağı kaydırır.

Son güncelleme: 09.04.2018

Diziler, veri kümeleriyle çalışmak için tasarlanmıştır. Bir dizi oluşturmak için new Array() ifadesi kullanılır:

Var myArray = new Array();

Bir diziyi başlatmanın daha kısa bir yolu da vardır:

Var myArray =;

Bu durumda boş bir dizi oluşturuyoruz. Ancak buna ilk verileri de ekleyebilirsiniz:

Var insanlar = ["Tom", "Alice", "Sam"]; konsol.log (kişiler);

Bu durumda, myArray'de üç öğe olacaktır. Grafiksel olarak aşağıdaki gibi temsil edilebilir:

Dizinler, bir dizinin tek tek öğelerini belirtmek için kullanılır. Sayma sıfırdan başlar, yani ilk eleman 0 indeksine ve son eleman 2 indeksine sahip olacaktır:

Var insanlar = ["Tom", "Alice", "Sam"]; konsol.log (kişiler); // Tom var kişi3 = insanlar; // Sam konsol.log (kişi3); // Sam

Dizinin boyutundan daha büyük bir dizindeki bir öğeye erişmeye çalışırsak, tanımsız hale geliriz:

Var insanlar = ["Tom", "Alice", "Sam"]; konsol.log (kişiler); // Tanımsız

Ayrıca, dizine göre dizi öğelerinin değerleri ayarlanır:

Var insanlar = ["Tom", "Alice", "Sam"]; konsol.log (kişiler); // Tom insanlar = "Bob"; konsol.log (kişiler); // Bob

Ayrıca, C# veya Java gibi diğer dillerin aksine, başlangıçta kurulmamış bir öğe yükleyebilirsiniz:

Var insanlar = ["Tom", "Alice", "Sam"]; konsol.log (kişiler); // tanımsız - dizide sadece üç eleman var people = "Bob"; konsol.log (kişiler); // Bob

JavaScript'teki bir dizi programlama dilinden farklı olarak, dizilerin güçlü bir şekilde yazılmadığını, bir dizinin farklı türlerdeki verileri depolayabileceğini de belirtmekte fayda var:

Var nesneler = ["Tom", 12, true, 3.14, false]; konsol.log (nesneler);

yayılma operatörü

spread operatörü ... bir diziden ayrı ayrı değerler almanıza olanak tanır:

Sayılar =; konsol.log (... sayılar); // 1 2 3 4 console.log (sayılar); //

Yayılma operatörü, diziden önce belirtilir. Sonuç olarak, ... sayılar ifadesi bir dizi sayı döndürür, ancak bir dizi değil, bireysel değerler olacaktır.

Çok boyutlu diziler

Diziler tek boyutlu ve çok boyutlu olabilir. Çok boyutlu bir dizideki her eleman ayrı bir dizi olabilir. Yukarıda tek boyutlu bir dizi düşündük, şimdi çok boyutlu bir dizi oluşturalım:

Var sayılar1 =; // tek boyutlu dizi var sayılar2 = [,]; // iki boyutlu dizi

Görsel olarak, her iki dizi de aşağıdaki gibi temsil edilebilir:

Tek boyutlu dizi sayıları1

Bir dizinin tek bir öğesini elde etmek için bir dizin de kullanılır:

Var tomInfo = insanlar;

Ancak şimdi tomInfo değişkeni bir diziyi temsil edecektir. Yuvalanmış bir dizinin içindeki bir öğeyi almak için ikinci boyutunu kullanmamız gerekir:

Console.log ("Ad:" + kişiler); // Tom console.log ("Yaş:" + kişiler); // 25

Yani, iki boyutlu bir diziyi tablo şeklinde görsel olarak temsil edebilirsek, o zaman people öğesi, ilk satır ve ikinci sütunun kesiştiği yerde bulunan tablo hücresine atıfta bulunacaktır (birinci boyut, 0 - bir satır, ikinci boyut - 1 - bir sütun).

Ödevi de yapabiliriz:

Var insanlar = [["Tom", 25, yanlış], ["Bill", 38, doğru], ["Alice", 21, yanlış]]; kişi = 56; // ayrı bir değer konsol.log (kişiler); // 56 kişi = ["Bob", 29, false]; // bir dizi konsol.log (kişiler) atayın; // Bob

Çok boyutlu diziler oluştururken sadece iki boyutlu dizilerle sınırlı değiliz, büyük boyutlu dizileri de kullanabiliriz:

Var sayılar =; sayılar =; // şimdi sayılar iki boyutlu bir dizidir sayılar =; // şimdi sayılar üç boyutlu bir dizidir sayılar = 5; // 3B dizinin ilk elemanı 5 konsol.log (sayı);

JavaScript çok boyutlu diziler ve sıralama ile ilgilenen herkese selamlar. Mevcut yayında, bu konuyu tüm detaylarıyla ele almaya çalışacağım.

Bu nedenle, bu makaleyi okuduktan sonra, web uygulamalarında çok boyutlu dizilerin neden kullanıldığını, nasıl oluşturulduğunu ve nasıl manipüle edilip sıralanabileceğini öğreneceksiniz. Hadi öğrenmeye başlayalım!

Çok boyutlu diziler nasıl oluşturulur ve ne içindir?

Başlangıç ​​olarak, düzenli tek boyutlu bir dizinin nasıl oluşturulduğunu hatırlamaya değer.

var dizi =

Şimdi, çok boyutlu bir dizinin bir dizi dizisi olduğunu unutmayın. Katılıyorum, kulağa bir totoloji gibi geliyor. Ancak, tanımı tekrar okuyun. Gerçekten de, çok boyutlu bir dizi, belirli sayıda iç içe diziden oluşur.

Aşağıdaki durumu göz önünde bulundurun. Bir oyunun başlangıcında, kullanıcı adını girer ve sonunda, oyuncuların isimleri ve kayıtlarının bulunduğu bir derecelendirme tablosu ekranda görüntülenir.

Bu tür bilgilerin bir veritabanında saklandığı açıktır. Ama onu veritabanından çıkardığımızda çok boyutlu bir dizi elde ederiz. Sonuçta, her alt dizi, oyuncunun oturum açma bilgilerini ve atılan puan sayısını saklar.

Hepsi şöyle görünecek:

var sonuçlar = [["Markus", 333], ["Natasha", 211], ["Alexey", 124]];

Gördüğünüz gibi, bilgiler heterojen olarak saklanabilir. Dizeler, sayılar ve hatta olabilir. Bu mümkündür çünkü içindeki diziler türlendirilmemiştir.

Bu durumda, elemanlara erişim bir çift operatör aracılığıyla gerçekleşir.

Malzemeyi birleştirmek için küçük bir programı analiz edin.

Sonuçlar =

Diziler, sıralı karmaşık verileri işlerken depolamanın oldukça uygun bir yoludur. Ek olarak, onlarla çalışmak çok uygundur ve aynı zamanda işlem hızları oldukça yüksektir.

Veri sıralama yöntemleri

JavaScript'teki diziler için, adında yerleşik bir yöntem vardır. çeşit ()... Bu araç çok esnektir. Ve şimdi nedenini açıklayacağım.

Parametresiz bir yöntem kullanırsanız, alt dizileri otomatik olarak ilk öğeye göre alfabetik sıraya göre sıralar. Yani, aradığınızda Sonuçlar.çeşit () ayrıştırılan nesne şöyle görünecektir:

Alexey, 124

Markus, 333

Nataşa, 211

Ve her iç içe dizideki öğeleri değiştirirseniz, şunları elde edersiniz:

124, Alexey

211, Nataşa

333, Markus

Bu durumda, karşılaştırma için tüm öğeler geçici olarak dizelere dönüştürülür.

Belirli bir görevi çözmek için, öğeleri standart olmayan bir şekilde sıralayan bir işleve ihtiyacınız varsa, bunu kendiniz yazabilir ve parametre olarak iletebilirsiniz. çeşit ()... Özel bir işlevin geri dönmesi gerektiği akılda tutulmalıdır:

  • pozitif bir sayı (genellikle 1'i seçin) karşılaştırmada belirtilen ilk öğe ikinciyi takip ediyorsa;
  • negatif bir sayı (genellikle -1), seçilen ikinci öğenin birinciyi izlemesi gerekiyorsa;
  • test edilen iki değer eşitse sıfır.

Örnek olarak, ilk diziyi alalım Sonuçlar noktalara göre sıralayın. Ayrıca, sonuçlar en yüksekten en düşüğe doğru sıralanacaktır. Bu iki şekilde yapılabilir.

İlk versiyonda sıralama mantığını değiştirdim, yani. pozitif bir sayı döndürmenin gerekli olduğu bir durumda, negatif bir sayı döndürürüm ve bunun tersi de geçerlidir.

Kayıt tablosu:

Ancak ikinci yöntemde, sıralama mantığını olduğu gibi bıraktım, ancak ek olarak başka bir yöntem kullandım - ters ()... Adından da anlaşılacağı gibi, ters öğelerin sırasını tersine çevirir.

Bu nedenle, sort() işlevi şöyle görünecektir:

1 2 3 4 5 işlevi RecordSort (a, b) (if (a> b) 1 döndürür; aksi takdirde (a)< b) return -1; else return 0; }

işlevi RecordSort (a, b) (if (a> b) 1 döndürür; aksi takdirde (a)< b) return -1; else return 0; }

Ardından yukarıdaki yöntemi ekleyelim.

Sonuç benzer şekilde yapılır.

Önemli bir noktaya dikkatinizi çekmek istiyorum. Bu işlevleri kullanırken, bunları uyguladığınız dizide tüm değişiklikler gerçekleşir. Bu nedenle, verilerin orijinal biçimini korumanız gerekiyorsa, bir kopya oluşturun ve ardından düzenleyin.

Çok boyutlu dizilerden ve sıralamalarından bahsettim. Makaleyi beğendiyseniz, bloga abone olun ve eşit derecede ilginç diğer yayınları okuyun. Repostlar için minnettar olurum. Bir sonrakine kadar!

Güle güle!

Saygılarımla, Roman Chueshov