ActionScript 3 Dersleri-5 : Diziler
Burak AYDIN Tarih: 8/06/2008 Yorum: 0 adet
Okunma : 658 Tutanlar: Bu yazıyı 1 kişi tuttu.
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]); // Burak
DİZİNİN ELEMAN SAYISINI TESPİT ETMEK
trace("Bu dizinin eleman sayısı: " + diziDeneme.length); // Bu dizinin eleman sayısı: 2
DİZİYE BİR ELEMAN EKLEMEK (SONA)
diziDeneme.push("Hakan");
trace(diziDeneme); //Mehmet,Burak,Hakan
DİZİYE BİR ELEMAN EKLEMEK (BAŞA)
diziDeneme.unshift("Özcan"); //İlk sıraya Özcan'ı ekler
trace(diziDeneme); //Özcan,Mehmet,Burak,Hakan
DİZİ İÇERİSİNDE DÖNGÜ ÇALIŞTIRARAK ÜYELİK SORGUSU YAPMAK
var diziDeneme2:Array = ["Hasan","Burak","Mehmet"];
trace(diziDeneme2); //Hasan,Burak,Mehmet
Normal 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österir
Dİ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 123
Bu 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,bir
Dİ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,disket
Dİ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,5
Dİ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);
İçeriğe kayıtlı yorum bulunmuyor. İlk yorumu siz buradan ekleyebilirsiniz.
Makale
İlişkili makale bulunamadı.
MMIstanbul Adobe UG
ColdFusion, Flex, AIR, Flash, PDF, Dreamweaver, Fireworks, Photoshop, Illustrator, iNdesign, Premiere, Soundbooth, Lightroom, InCopy, JRun, LiveCycle, Acrobat, AfterEffects, Resmi Adobe Kullanıcı Grubu.
Etkinlikler
Konferans
IBM Yazılım Zirvesi '08, Değişim Açlığı
IBM Yazılım Zirvesi '08, Değişim Açlığı
Değişim açlığı, Hungry for Change teması çerçevesinde düzenlenecek IBM Yazılım zirvesi Ankara ve İstanbulda düzenlenecek:
15 Ekim 2008
Swissotel the...
Kategori:
Konferans
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız




