Bu dersimizde "ActionScript 3 ile Diziler" ‘e değineceğiz.
Diziler içerisinde bir ya da daha fazla eleman içerebilen değişkenlerdir. Bu değişkenleri numarasına göre yeniden çağırabilir ve kullanabiliriz. Önemli bir husus da; dizi elemanları sırasıyla 0,1,2… şeklinde numaralanırlar.
// Not: (" Tırnak) işaretlerini kodlamada yeniden yazmanız gerekmektedir.
Diziyi de diğer değişkenler gibi oluşturalım. Bu esnada dizinin ismini, aslen dizi olduğunu, ve değerlerini girelim.
var diziDeneme:Array = new Array();
diziDeneme[0] = "Mehmet";
diziDeneme[1] = "Burak";
trace(diziDeneme[1]); // BurakDİZİNİN ELEMAN SAYISINI TESPİT ETMEK
trace("Bu dizinin eleman sayısı: " + diziDeneme.length); // Bu dizinin eleman sayısı: 2DİZİYE BİR ELEMAN EKLEMEK (SONA)
diziDeneme.push("Hakan");
trace(diziDeneme); //Mehmet,Burak,HakanDİZİYE BİR ELEMAN EKLEMEK (BAŞA)
diziDeneme.unshift("Özcan"); //İlk sıraya Özcan'ı ekler
trace(diziDeneme); //Özcan,Mehmet,Burak,HakanDİZİ İÇERİSİNDE DÖNGÜ ÇALIŞTIRARAK ÜYELİK SORGUSU YAPMAK
var diziDeneme2:Array = ["Hasan","Burak","Mehmet"];
trace(diziDeneme2); //Hasan,Burak,MehmetNormal bir for döngüsü kuruyoruz. i adında sayısal değişken oluşturuyoruz. i’yi sıfırlıyoruz. i ‘yi dizi içerisindeki eleman sayısı kadar olana dek bir artır komutunu veriyoruz.
for (var i:Number=0; i < diziDeneme2.length; i++) {
/* Programın dönmesi esnasında i sayısı sürekli artıyor. diziDeneme[i sayısının o anki değeri] "Mehmet" diye bir elemana rastlarsa "Mevcut" çıktısını vermesini istiyoruz. */
if (diziDeneme[i] == "Mehmet") {
trace("Mevcut");
}
}STRİNG BİR DEĞİŞKEN VEYA YAZI KUTUSUNDAKİ YAZINSAL VERİLERİ PARÇALAMAK
Herhangi bir yazıdan belirlediğimiz sembol yardımıyla, bu sembolün bulunduğu her noktayı yeniden bu sembol karşımıza çıkana değin parçalara ayırabiliriz.
Bu yeni verileri yeni bir string ya da bir diziye aktarabiliriz.
var makale:String = new String("Merhaba!.. Bu örnek bir makale yazısıdır")
var txtDizi:Array;
txtDizi = makale.split(" "); Ben boşluklardan ayırma yaptım. İsterseniz (,) , (.) gibi sembolleri de kullanabilirsiniz
trace(txtDizi[0]);
trace(txtDizi[1]);
trace(txtDizi[2]);
trace(txtDizi[3]); // Merhaba!..
// Bu
// örnek
// bir
VERİ SAYISI ÖNCEDEN TANIMLI DİZİ
var diziSayisi2:Array = new Array(5);
trace(diziSayisi2.length); //Dizide şimdiden oluşan eleman sayısını gösterir. "5″Dizinin sadece belirlediğimiz elemanlarını atayalım.
diziSayisi2[0] = "bir";
diziSayisi2[2] = "Üç";
diziSayisi2[5] = "Altı";trace(diziSayisi2);// Dizideki 5 elemandan 0,2,ve 5. elemanın ne olacağını belirledik. Bunları gösterirDİZİDEKİ ELEMANLAR ARASINA DEĞER ALMAK
Virgül yerine boşluk ya da "ve" ifadesini ‘de kullanmayı öğrenelim..
var diziDeneme3:Array = new Array("bir", "iki", "üç");Yeni değişken tanımlayalım. İçeriği diziDeneme3′ün elemanları ve aralarına eklenmiş "ve" lerden oluşsun
var diziDeneme3yazi:String = diziDeneme3.join(" ve ");
trace(diziDeneme3yazi); // bir ve iki ve üçDİZİ İÇERİSİNDEKİ ELAMANLARIN SORGULANMASI
var diziDeneme4:Array = new Array(123,45,6789,123,984,323,123,32);
var index:int = diziDeneme4.indexOf(123);
trace("Evet " + index + "'ıncı eleman 123″); // Evet 0′ıncı eleman 123
var indexSon:int = diziDeneme4.lastIndexOf(123);
trace("Evet " + indexSon + "'ıncı eleman 123″);// Evet 6′ıncı eleman 123Bu dizide 123 şeklinde bir eleman varsa bu en az sıfırdan büyük bir değer demektir. Yani birinci eleman 0 değerini döndürür. 4′üncü eleman 3 değerini döndürür. O zaman 123 şeklindeki bir elemanın mevcudiyeti en az 0 değerini döndürür.
Biz de diziye bunu soralım
if (diziDeneme4.lastIndexOf(123) > -1) {
trace("Bu dizide böyle bir eleman mevcut");
}DİZİDEN BİR ELEMAN KESMEK (SONDAN)
Dizideki son elemanı keserek alınan veriyle yeni bir string değişken oluşturalım
var diziDeneme5:Array = new Array("bir", "iki", "üç");
trace(diziDeneme5);
var diziDeneme5SonEleman:String = diziDeneme5.pop();
trace(diziDeneme5);
trace(diziDeneme5SonEleman); // üç
DİZİDEN BİR ELEMAN KESMEK (BAŞTAN)
var diziDeneme6:Array = new Array("bir" , "iki" , "üç");
var diziDeneme6IlkEleman:String = diziDeneme6.shift();
trace(diziDeneme6);
trace(diziDeneme6IlkEleman);DİZİ İÇİNDEKİ ELEMANLARI TERSİNE ÇEVİRMEK
var diziDeneme7:Array = new Array("bir", "iki", "üç" , "dört");
trace(diziDeneme7);
diziDeneme7.reverse();
trace(diziDeneme7); // dört,üç,iki,birDİZİDEN BELİRLENEN ARALIKTAKİ ELEMANLARI KOPYALAMAK
var diziDeneme8:Array = new Array("bir", "iki", "üç", "dört", "beş", "altı");
var diziDeneme8Aralik:Array = diziDeneme8.slice(0,4);
trace(diziDeneme8);
trace(diziDeneme8Aralik);Not: slice(2); ikiden sonrasını, slice(-2); sondan ikinciden itibaren kopyalar
DİZİDEN ELEMAN SİLMEK
/* Dizi içinde 5 eleman olduğunu varsayarsak. üçüncü,dördüncü ve beşinci elemanları silmek için, birinci elemanın 0(sıfır) no ‘ya denk geldiğini hesaba katarak;
dizi.splice(2); // yani 0,1.. den sonraki tüm elemanları sil.
Tersi için (sondan itibaren) dizi.splice(-2);
dizi eleman sayısını bozmadan sadece içeriği silmek için
delete dizi[0]; (Evet arada nokta vs yok) */
DİZİ İÇİNDEKİ ELEMANLARI ALFABEYE GÖRE SIRALAMAK
var diziDeneme9:Array = new Array("ayakkabı","disket","cüzdan","bardak");
diziDeneme9.sort();
trace(diziDeneme9); // ayakkabı,bardak,cüzdan,disketDİZİ İÇİNDEKİ ELEMANLARI KÜÇÜKTEN BÜYÜĞE SIRALAMAK
var diziDeneme10:Array = new Array(5,4,3,2,1,0);
trace("Orjinali " + diziDeneme10);
diziDeneme10.sort(Array.NUMERIC);
trace("Sıralı hali: " + diziDeneme10); //Sıralı hali: 0,1,2,3,4,5DİZİ İÇİNDEKİ VERİLERİ STRİNG BİR DEĞİŞKENE ÇEVİRMEK
var diziDeneme11:Array = new Array("bir","iki","üç");
var diziDeneme11String:String = diziDeneme11.toString();
race(diziDeneme11String);