Mehmetoglu.org ActionScript 3 Dersleri - 9 [Diziler]

Posted on Cumartesi, Haziran 7th, 2008 at 06:20

Not: (” Tırnak) işaretlerini kodlamada yeniden yazmanız gerekmektedir.

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 ta; dizi elemanları sırasıyla 0,1,2… şeklinde numaralanırlar.

// Kod yazımı buradan itibaren başlamıştır

/* 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++) {

/*Dönme 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ü beğenmiyormusunuz? O halde 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 SORGULAMASI

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ı kesebilir ve dilerseniz bununla yeni bir string değişken oluşturabilirsiniz.

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);

// 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”,”cevşen”,”bardak”);

diziDeneme9.sort();

trace(diziDeneme9); // ayakkabı,bardak,cevşen,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();

trace(diziDeneme11String);

İstersen yorum yazabilirsin, ya da kendi sitenden "geridönüş" (trackback) ekleyebilirsin.

10 Yorum yazılmış

 1 
metin54:

tebrikler mehmetoğlu bence mükemmel bir anlatım..zaten örnekli anlatım herşeye bedel..bilgilerini başkalarından saklamayan , hep alçak gönüllü olan tıpkı senin gibi kişileri hep taktir etmişimdir..
saygılarımla
metin54

Ağustos 8th, 2008 at 22:12
 2 

Asıl ben çok teşekkür ederim. Bana moral verdiniz.. :) Engin Yöyen Hocamızın kitabı geldikten sonra kendimi daha fazla geliştirmeyi ve anlatmaya kaldığım yerden devam etmeyi düşünüyorum. O da takdire şayan bir davranışla sadece paylaşım niyetinde. Kitabı bile para kazanmak amaçlı yazılmamış.

Sevgilerle..

Ağustos 9th, 2008 at 09:00
 3 
oguz:

güzel bir çalışma tesekkurler

Ağustos 27th, 2008 at 21:42
 4 

Estağfirullah.. Ben teşekkür ederim..

Ağustos 28th, 2008 at 12:49
 5 

Güzel bir yazı olmuş.Eline sağlık.

Mayıs 2nd, 2009 at 08:55
 6 

Teşekkür ederim (: Beğendiğinize sevindim..

Mayıs 2nd, 2009 at 09:16
 7 
Fatih UÇAR:

Anlatım güzel olmuş. Emeğine sağlık.

Ağustos 19th, 2009 at 11:04
 8 

Ben teşekkür ederim

Ağustos 19th, 2009 at 12:32
 9 

Güzel çalışma olmuş elinize sağlık.Her konudan sonra ,yazdığınız kodlarla yapılabilecek örnek bir proje yayınlarsanız müthiş olacak.

Ekim 6th, 2009 at 07:50

teşekkürler (:

elimden geldiğince bunu yapmaya çalışıyorum. burada dizilerle ilgili olduğu için bişey bulamamıştım sanırım. ancak bu fikri değerlendirirsek kendini parçalara ayırıp diziye atan ve patlayan bir yazı iyi olabilirdi hakkaten (:

sevgiler..

Ekim 6th, 2009 at 07:53

Yazmayan ölsün..

Adın
e-Postan (Yayımlarsam ne olim)
Siten
Gençliğini neyle değerlendirdin?
Yorumun: