| Paket | Üst Düzey |
| Sınıf | public dynamic class Array |
| Miras Alma | Array Object |
| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
[0], ikinci öğe [1], vb.'dir. Bir Array nesnesi oluşturmak için, new Array() yapıcısı kullanılır. Array() bir işlev olarak da çağrılabilir. Ayrıca, bir diziyi başlatmak veya bir dizinin öğelerine erişmek için, dizi erişimi ([]) operatörünü de kullanabilirsiniz.
Sayı, dize, nesne ve diğer diziler dahil, bir dizi öğesinde çeşitli veri türlerini saklayabilirsiniz. Dizinli bir dizi oluşturup bu dizinin öğelerinin her birine farklı bir dizinli dizi atayarak multidimensional dizi oluşturabilirsiniz. Bu tür bir dizinin çok boyutlu olarak değerlendirilmesinin nedeni, bir tabloda verileri temsil etmek için kullanılabilmesidir.
Diziler seyrek dizilerdir, başka bir deyişle, 0 dizininde bir öğe ve 5 dizininde başka bir öğe olabilir ancak bu iki öğenin arasındaki dizin konumlarında herhangi bir şey yoktur. Bu tür bir durumda, 1 - 4 konumları arasındaki öğeler tanımsız olup mutlaka undefined değerine sahip bir öğenin varlığını değil, bir öğenin yokluğunu belirtir.
Dize ataması değere göre değil, başvuruya göredir. Bir dizi değişkenini başka bir dizi değişkenine atadığınızda, her ikisi de aynı diziye başvurur:
var oneArray:Array = new Array("a", "b", "c");
var twoArray:Array = oneArray; // Both array variables refer to the same array.
twoArray[0] = "z";
trace(oneArray); // Output: z,b,c.
Numaralı öğeler yerine adlandırılmış öğeleri içeren veri yapıları niteliğindeki ilişkilendirilebilir diziler (karma da denir) oluşturmak için Array sınıfını kullanmayın. İlişkilendirilebilir diziler oluşturmak için Object sınıfını kullanın. ActionScript, Array sınıfını kullanarak ilişkilendirilebilir diziler oluşturmanıza izin verse de, ilişkilendirilebilir dizilerle Array sınıfı yöntemlerini veya özelliklerini kullanamazsınız.
Array sınıfını genişletebilir ve yöntemleri geçersiz kılabilir veya ekleyebilirsiniz. Ancak, alt sınıfı dynamic olarak belirtmeniz gerekir, aksi takdirde bir diziye veri saklama yeteneğinizi kaybedersiniz.
İlgili API Öğeleri
| Özellik | Tanımlayan: | ||
|---|---|---|---|
![]() | constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | |
| length : uint
Dizideki öğe sayısını belirten, negatif olmayan bir tam sayı. | Array | ||
| Yöntem | Tanımlayan: | ||
|---|---|---|---|
Belirtilen öğeleri içeren bir dizi oluşturmanızı sağlar. | Array | ||
Belirtilen sayıda öğesi olan bir dizi oluşturmanızı sağlar. | Array | ||
Parametrelerde belirtilen öğeleri bir dizideki öğelerle birleştirir ve yeni bir dizi oluşturur. | Array | ||
Belirtilen işlev için false döndüren bir öğeye ulaşılıncaya kadar dizideki her öğede bir test işlevi çalıştırır. | Array | ||
Dizideki her öğede bir test işlevini çalıştırır ve belirtilen işlev için true döndüren tüm öğeler için yeni bir dizi oluşturur. | Array | ||
Bir işlevi dizideki her öğe üzerinde çalıştırır. | Array | ||
![]() |
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | |
Bir dizide bir öğeyi katı eşitlik (===) kullanarak arar ve öğenin dizin konumunu döndürür. | Array | ||
Bir diziye tek bir öğe ekleyin. | Array | ||
![]() |
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | |
Dizideki öğeleri dizelere dönüştürür, öğeler arasına belirtilen ayırıcıları ekler, bunları birleştirir ve sonuç dizesini döndürür. | Array | ||
Bir dizide bir öğeyi en son öğeden başlayarak geriye doğru arar ve katı eşitlik (===) kullanarak eşleşen öğenin dizin konumunu döndürür. | Array | ||
Bir işlevi bir dizinin her öğesinde çalıştırır ve orijinal dizideki öğelerin her birindeki işlevin sonuçlarına karşılık gelen yeni bir öğe dizisi oluşturur. | Array | ||
Bir dizinin son öğesini kaldırır ve o öğenin değerini döndürür. | Array | ||
![]() |
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | |
Bir dizinin sonuna bir veya daha fazla öğe ekler ve dizinin yeni uzunluğunu döndürür. | Array | ||
Bir diziden tek bir öğe kaldırın. | Array | ||
Diziyi yerinde ters çevirir. | Array | ||
![]() |
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | |
Bir dizinin ilk öğesini kaldırır ve o öğeyi döndürür. | Array | ||
Orijinal diziyi değiştirmeden, orijinal dizideki öğelerin aralığını içeren yeni bir dizi döndürür. | Array | ||
true döndüren bir öğeye ulaşılıncaya kadar dizideki her öğede bir test işlevi çalıştırır. | Array | ||
Bir dizideki öğeleri sıralar. | Array | ||
Bir dizideki öğeleri, dizideki bir veya daha fazla alana göre sıralar. | Array | ||
Bir diziye öğe ekleyip diziden öğeyi kaldırır. | Array | ||
Belirtilen dizideki öğeleri temsil eden bir dize döndürür. | Array | ||
Belirtilen dizideki öğeleri temsil eden bir dize döndürür. | Array | ||
Bir dizinin başına bir veya daha fazla öğe ekler ve dizinin yeni uzunluğunu döndürür. | Array | ||
![]() |
Belirtilen nesnenin temel değerini döndürür. | Object | |
| Sabit | Tanımlayan: | ||
|---|---|---|---|
| CASEINSENSITIVE : uint = 1 [statik]
Array sınıfı sıralama yöntemleri için büyük/küçük harf duyarsız sıralama belirtir. | Array | ||
| DESCENDING : uint = 2 [statik]
Array sınıfı sıralama yöntemleri için azalan sırada sıralama belirtir. | Array | ||
| NUMERIC : uint = 16 [statik]
Array sınıfı sıralama yöntemleri için sayısal (karakter dizesi yerine) sıralama belirtir. | Array | ||
| RETURNINDEXEDARRAY : uint = 8 [statik]
Bir sıralamanın dizi dizinlerinden oluşan bir dizi döndüreceğini belirtir. | Array | ||
| UNIQUESORT : uint = 4 [statik]
Array sınıfı sıralama yöntemleri için benzersiz sıralama gereksinimini belirtir. | Array | ||
length | özellik |
length:uint| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Dizideki öğe sayısını belirten, negatif olmayan bir tam sayı. Diziye yeni öğeler eklendiğinde bu özellik otomatik olarak güncellenir. Bir dizi öğesine bir değer atadığınızda (örneğin, my_array[index] = value), index bir sayıysa ve index+1, length özelliğinden büyükse, length özelliği index+1 değerine güncellenir.
Not: length özelliğine varolan uzunluktan daha kısa bir değer atarsanız, dizi kesilir.
Uygulama
public function get length():uint public function set length(value:uint):voidÖrnek ( Bu örnek nasıl kullanılır? )
Bill dize öğesini içeren bir names Array nesnesi oluşturur. Daha sonra bu başka bir Kyle dize öğesi eklemek için push() yöntemini kullanır. length özelliğinin belirlediği dizi uzunluğu, push() kullanılmadan önce bir öğe iken push() çağrıldıktan sonra iki öğedir. names uzunluğunu üç öğe haline getirmek için başka bir dize olan Jeff eklenir. Daha sonra Bill ve Kyle öğelerini kaldırmak için shift() yöntemi iki defa çağrılır, bu durumda length son dizisinin değeri bir olur.
var names:Array = new Array("Bill");
names.push("Kyle");
trace(names.length); // 2
names.push("Jeff");
trace(names.length); // 3
names.shift();
names.shift();
trace(names.length); // 1
Array | () | Yapıcı |
public function Array(... values)| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirtilen öğeleri içeren bir dizi oluşturmanızı sağlar. Herhangi türde veri belirtebilirsiniz. Dizideki birinci öğenin her zaman bir 0 dizini (veya konumu) vardır.
Not: Yapıcı, değişken argüman türlerini kabul ettiğinden, bu sınıf iki yapıcı girişini gösterir. İletilen argümanların türüne ve sayısına bağlı olarak yapıcı farklı davranır (her giriş için ayrıntılı olarak belirtilmiştir). ActionScript 3.0, yöntem veya yapıcı aşırı yüklemesini desteklemez.
Parametreler... values — Bir veya daha fazla rastgele değerin virgüllerle ayrıldığı bir liste.
Not: Array yapıcısına yalnızca tek bir sayısal parametre iletilirse, bunun dizinin |
Atar
RangeError — Argüman, 0'dan büyük veya 0'a eşit bir tam sayı olmayan sayıdır.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
one, two ve three dize öğelerini toplar ve ardından öğeleri bir dizeye dönüştürür.
package {
import flash.display.Sprite;
public class Array_Array_3 extends Sprite {
public function Array_Array_3() {
var myArr:Array = new Array("one", "two", "three");
trace(myArr.length); // 3
trace(myArr); // one,two,three
}
}
}
Array | () | Yapıcı |
public function Array(numElements:int = 0)| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirtilen sayıda öğesi olan bir dizi oluşturmanızı sağlar. Herhangi bir parametre belirtmezseniz, 0 öğe içeren bir dizi oluşturulur. Bir öğe sayısı belirtirseniz, numElements öğe içeren bir dizi oluşturulur.
Not: Yapıcı, çeşitli argüman türlerini kabul ettiğinden, bu sınıf iki constructor yöntemi girişini gösterir. İletilen argümanların türüne ve sayısına bağlı olarak yapıcı farklı davranır (her giriş için ayrıntılı olarak belirtilmiştir). ActionScript 3.0, yöntem veya yapıcı aşırı yüklemesini desteklemez.
ParametrelernumElements:int (default = 0) — Dizideki öğe sayısını belirten bir tam sayı.
|
Atar
RangeError — Argüman, 0'dan büyük veya 0'a eşit bir tam sayı olmayan sayıdır.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
myArr Array nesnesini oluşturur:
package {
import flash.display.Sprite;
public class Array_Array extends Sprite {
public function Array_Array() {
var myArr:Array = new Array();
trace(myArr.length); // 0
}
}
}
"one" dizesiyle doldurur ve push() yöntemini kullanarak dizinin sonuna "six" dize öğesini ekler:
package {
import flash.display.Sprite;
public class Array_Array_2 extends Sprite {
public function Array_Array_2() {
var myArr:Array = new Array(5);
trace(myArr.length); // 5
myArr[0] = "one";
myArr.push("six");
trace(myArr); // one,,,,,six
trace(myArr.length); // 6
}
}
}
concat | () | yöntem |
AS3 function concat(... args):Array| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Parametrelerde belirtilen öğeleri bir dizideki öğelerle birleştirir ve yeni bir dizi oluşturur. Parametreler bir dizi belirtirse, o dizinin öğeleri birleştirilir. Herhangi bir parametre iletmezseniz, yeni dizi orijinal dizinin aynısıdır (sığ klon).
Parametreler
... args — Yeni bir dizide birleştirilecek herhangi bir veri türünün (örn. sayı, öğe veya dize) değeri.
|
Array — Ardından parametrelerin öğeleri gelecek şekilde bu dizideki öğeleri içeren bir dizi.
|
Örnek ( Bu örnek nasıl kullanılır? )
1,2ve3sayılarını içerennumbersdizisi.a,bvecharflerini içerenlettersdizisi.[1,2,3,a,b,c]dizisini üretmek içinconcat()yöntemini çağırannumbersAndLettersdizisi.[a,b,c,1,2,3]dizisini üretmek içinconcat()yöntemini çağıranlettersAndNumbersdizisi.
var numbers:Array = new Array(1, 2, 3);
var letters:Array = new Array("a", "b", "c");
var numbersAndLetters:Array = numbers.concat(letters);
var lettersAndNumbers:Array = letters.concat(numbers);
trace(numbers); // 1,2,3
trace(letters); // a,b,c
trace(numbersAndLetters); // 1,2,3,a,b,c
trace(lettersAndNumbers); // a,b,c,1,2,3
every | () | yöntem |
AS3 function every(callback:Function, thisObject:* = null):Boolean| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirtilen işlev için false döndüren bir öğeye ulaşılıncaya kadar dizideki her öğede bir test işlevi çalıştırır. Bir dizideki tüm öğelerin belirli bir sayıdan daha az değere sahip olma gibi bir ölçütü karşılayıp karşılamadığını belirlemek için bu yöntem kullanılır.
Birinci parametre (callback) bir yöntem kapanışıysa, bu yöntem için ikinci parametrenin (thisObject) null olması gerekir. me adlı film klibinizde bir işlev oluşturduğunuzu varsayın:
function myFunction(obj:Object):void {
//your code here
}
Daha sonra da myArray adındaki bir dizide every() yöntemini kullanacağınızı varsayın:
myArray.every(myFunction, me);
myFunction, me tarafından geçersiz kılınamayan Timeline sınıfının bir üyesi olduğundan, Flash çalışma zamanı bir istisna atar. Şu şekilde işlevi bir değişkene atayarak bu zaman aşımı hatasını önleyebilirsiniz:
var myFunction:Function = function(obj:Object):void {
//your code here
};
myArray.every(myFunction, me);
Parametreler
callback:Function — Dizideki her öğe üzerinde çalışma işlevi. Bu işlev basit bir karşılaştırma (örneğin, item < 20) veya daha karmaşık bir işlem içerebilir ve üç argümanla çağrılır; öğenin değeri, öğenin dizini ve Array nesnesi:
function callback(item:*, index:int, array:Array):Boolean; | |
thisObject:* (default = null) — İşlev için this olarak kullanılacak bir nesne.
|
Boolean — Belirtilen işlev için dizideki tüm öğeler true değerini getirirse, Boolean değeri true; aksi takdirde, false.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
isNumeric öğesinin birinci dizi için true ve ikinci dizi için false olduğunu gösterir:
package {
import flash.display.Sprite;
public class Array_every extends Sprite {
public function Array_every() {
var arr1:Array = new Array(1, 2, 4);
var res1:Boolean = arr1.every(isNumeric);
trace("isNumeric:", res1); // true
var arr2:Array = new Array(1, 2, "ham");
var res2:Boolean = arr2.every(isNumeric);
trace("isNumeric:", res2); // false
}
private function isNumeric(element:*, index:int, arr:Array):Boolean {
return (element is Number);
}
}
}
filter | () | yöntem |
AS3 function filter(callback:Function, thisObject:* = null):Array| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Dizideki her öğede bir test işlevini çalıştırır ve belirtilen işlev için true döndüren tüm öğeler için yeni bir dizi oluşturur. Bir öğe false döndürürse, yeni diziye dahil edilmez.
Birinci parametre (callback) bir yöntem kapanışıysa, bu yöntem için ikinci parametrenin (thisObject) null olması gerekir. me adlı film klibinizde bir işlev oluşturduğunuzu varsayın:
function myFunction(obj:Object):void {
//your code here
}
Daha sonra da myArray adındaki bir dizide filter() yöntemini kullanacağınızı varsayın:
myArray.filter(myFunction, me);
myFunction, me tarafından geçersiz kılınamayan Timeline sınıfının bir üyesi olduğundan, Flash çalışma zamanı bir istisna atar. Şu şekilde işlevi bir değişkene atayarak bu zaman aşımı hatasını önleyebilirsiniz:
var myFunction:Function = function(obj:Object):void {
//your code here
};
myArray.filter(myFunction, me);
Parametreler
callback:Function — Dizideki her öğe üzerinde çalışma işlevi. Bu işlev basit bir karşılaştırma (örneğin, item < 20) veya daha karmaşık bir işlem içerebilir ve üç argümanla çağrılır; öğenin değeri, öğenin dizini ve Array nesnesi:
function callback(item:*, index:int, array:Array):Boolean; | |
thisObject:* (default = null) — İşlev için this olarak kullanılacak bir nesne.
|
Array — Orijinal dizideki true döndüren tüm öğeleri içeren yeni bir dizi.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
package {
import flash.display.Sprite;
public class Array_filter extends Sprite {
public function Array_filter() {
var employees:Array = new Array();
employees.push({name:"Employee 1", manager:false});
employees.push({name:"Employee 2", manager:true});
employees.push({name:"Employee 3", manager:false});
trace("Employees:");
employees.forEach(traceEmployee);
var managers:Array = employees.filter(isManager);
trace("Managers:");
managers.forEach(traceEmployee);
}
private function isManager(element:*, index:int, arr:Array):Boolean {
return (element.manager == true);
}
private function traceEmployee(element:*, index:int, arr:Array):void {
trace("\t" + element.name + ((element.manager) ? " (manager)" : ""));
}
}
}
forEach | () | yöntem |
AS3 function forEach(callback:Function, thisObject:* = null):void| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir işlevi dizideki her öğe üzerinde çalıştırır.
Birinci parametre (callback) bir yöntem kapanışıysa, bu yöntem için ikinci parametrenin (thisObject) null olması gerekir. me adlı film klibinizde bir işlev oluşturduğunuzu varsayın:
function myFunction(obj:Object):void {
//your code here
}
Daha sonra da myArray adındaki bir dizide forEach() yöntemini kullanacağınızı varsayın:
myArray.forEach(myFunction, me);
myFunction, me tarafından geçersiz kılınamayan Timeline sınıfının bir üyesi olduğundan, Flash çalışma zamanı bir istisna atar. Şu şekilde işlevi bir değişkene atayarak bu zaman aşımı hatasını önleyebilirsiniz:
var myFunction:Function = function(obj:Object):void {
//your code here
};
myArray.forEach(myFunction, me);
Parametreler
callback:Function — Dizideki her öğe üzerinde çalışma işlevi. Bu işlev basit bir komut (örneğin, trace() ifadesi) veya daha karmaşık bir işlem içerebilir ve üç argümanla çağrılır; öğenin değeri, öğenin dizini ve Array nesnesi:
function callback(item:*, index:int, array:Array):void; | |
thisObject:* (default = null) — İşlev için this olarak kullanılacak bir nesne.
|
Örnek ( Bu örnek nasıl kullanılır? )
traceEmployee() işlevinde trace() ifadesini çalıştırır:
package {
import flash.display.Sprite;
public class Array_forEach extends Sprite {
public function Array_forEach() {
var employees:Array = new Array();
employees.push({name:"Employee 1", manager:false});
employees.push({name:"Employee 2", manager:true});
employees.push({name:"Employee 3", manager:false});
trace(employees);
employees.forEach(traceEmployee);
}
private function traceEmployee(element:*, index:int, arr:Array):void {
trace(element.name + " (" + element.manager + ")");
}
}
}
traceEmployee() işlevinde trace() ifadesini çalıştırır:
package {
import flash.display.Sprite;
public class Array_forEach_2 extends Sprite {
public function Array_forEach_2() {
var employeeXML:XML = <employees>
<employee name="Steven" manager="false" />
<employee name="Bruce" manager="true" />
<employee name="Rob" manager="false" />
</employees>;
var employeesList:XMLList = employeeXML.employee;
var employeesArray:Array = new Array();
for each (var tempXML:XML in employeesList) {
employeesArray.push(tempXML);
}
employeesArray.sortOn("@name");
employeesArray.forEach(traceEmployee);
}
private function traceEmployee(element:*, index:Number, arr:Array):void {
trace(element.@name + ((element.@manager == "true") ? " (manager)" : ""));
}
}
}
indexOf | () | yöntem |
AS3 function indexOf(searchElement:*, fromIndex:int = 0):int| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir dizide bir öğeyi katı eşitlik (===) kullanarak arar ve öğenin dizin konumunu döndürür.
Parametreler
searchElement:* — Dizide bulunacak öğe.
| |
fromIndex:int (default = 0) — Dizide, öğenin aranmaya başlanacağı konum.
|
int — Dizideki öğenin sıfır temellidizin konumu. searchElement argümanı bulunmazsa, dönüş değeri -1'dir.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
package {
import flash.display.Sprite;
public class Array_indexOf extends Sprite {
public function Array_indexOf() {
var arr:Array = new Array(123,45,6789);
arr.push("123-45-6789");
arr.push("987-65-4321");
var index:int = arr.indexOf("123");
trace(index); // -1
var index2:int = arr.indexOf(123);
trace(index2); // 0
}
}
}
insertAt | () | yöntem |
AS3 function insertAt(index:int, element:*):void| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 19, AIR 19 |
Bir diziye tek bir öğe ekleyin. Bu yöntem, kopya oluşturmadan diziyi değiştirir.
Parametreler
index:int — Öğenin ekleneceği dizindeki konumu belirten bir tamsayı. Dizinin sonuna göre bir konum belirtmek için negatif bir tam sayı kullanabilirsiniz (örneğin, dizinin son öğesi -1'dir).
| |
element:* |
join | () | yöntem |
AS3 function join(sep:*):String| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Dizideki öğeleri dizelere dönüştürür, öğeler arasına belirtilen ayırıcıları ekler, bunları birleştirir ve sonuç dizesini döndürür. Yuvalanmış bir dizi, join() yöntemine iletilen ayırıcı ile değil, her zaman virgülle (,) ayrılır.
Parametreler
sep:* (default = NaN) — Döndürülen dizede dizi öğelerini ayıran bir karakter veya dize. Bu parametreyi atlarsanız, varsayılan ayırıcı olarak virgül kullanılır.
|
String — Dizelere dönüştürülmüş ve belirtilen parametre ile ayrılmış bir dizin öğelerinden oluşan dize.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
one, two ve three öğelerini içeren bir myArr Array nesnesini ve join() yöntemini kullanarak one and two and three içeren bir dize oluşturur.
var myArr:Array = new Array("one", "two", "three");
var myStr:String = myArr.join(" and ");
trace(myArr); // one,two,three
trace(myStr); // one and two and three
(, ), - öğelerini ve bir boşluğu içeren specialChars Array nesnesini ve (888) 867-5309 içeren bir dize oluşturur. Daha sonra for döngüsünü kullanarak, yalnızca kalan telefon numarasının sayılarını (888675309) içeren bir dize (myStr) oluşturmak için specialChars içinde listelenen özel karakter türlerinin her birini kaldırır. + gibi diğer karakterlerin specialChars öğesine eklenmiş olabileceğini ve bu işlemin uluslararası telefon numarası biçimleriyle kullanılacağını unutmayın.
var phoneString:String = "(888) 867-5309";
var specialChars:Array = new Array("(", ")", "-", " ");
var myStr:String = phoneString;
var ln:uint = specialChars.length;
for(var i:uint; i < ln; i++) {
myStr = myStr.split(specialChars[i]).join("");
}
var phoneNumber:Number = new Number(myStr);
trace(phoneString); // (888) 867-5309
trace(phoneNumber); // 8888675309
lastIndexOf | () | yöntem |
AS3 function lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir dizide bir öğeyi en son öğeden başlayarak geriye doğru arar ve katı eşitlik (===) kullanarak eşleşen öğenin dizin konumunu döndürür.
Parametreler
searchElement:* — Dizide bulunacak öğe.
| |
fromIndex:int (default = 0x7fffffff) — Dizide, öğenin aranmaya başlanacağı konum. Varsayılan, bir dizin için izin verilen maksimum değerdir. fromIndex öğesini belirtmezseniz, arama dizideki en son öğeden başlar.
|
int — Dizideki öğenin sıfır temellidizin konumu. searchElement argümanı bulunmazsa, dönüş değeri -1'dir.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
package {
import flash.display.Sprite;
public class Array_lastIndexOf extends Sprite {
public function Array_lastIndexOf() {
var arr:Array = new Array(123,45,6789,123,984,323,123,32);
var index:int = arr.indexOf(123);
trace(index); // 0
var index2:int = arr.lastIndexOf(123);
trace(index2); // 6
}
}
}
map | () | yöntem |
AS3 function map(callback:Function, thisObject:* = null):Array| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir işlevi bir dizinin her öğesinde çalıştırır ve orijinal dizideki öğelerin her birindeki işlevin sonuçlarına karşılık gelen yeni bir öğe dizisi oluşturur.
Birinci parametre (callback) bir yöntem kapanışıysa, bu yöntem için ikinci parametrenin (thisObject) null olması gerekir. me adlı film klibinizde bir işlev oluşturduğunuzu varsayın:
function myFunction(obj:Object):void {
//your code here
}
Daha sonra da myArray adındaki bir dizide map() yöntemini kullanacağınızı varsayın:
myArray.map(myFunction, me);
myFunction, me tarafından geçersiz kılınamayan Timeline sınıfının bir üyesi olduğundan, Flash çalışma zamanı bir istisna atar. Şu şekilde işlevi bir değişkene atayarak bu zaman aşımı hatasını önleyebilirsiniz:
var myFunction:Function = function(obj:Object):void {
//your code here
};
myArray.map(myFunction, me);
Parametreler
callback:Function — Dizideki her öğe üzerinde çalışma işlevi. Bu işlev basit bir komut (örneğin, dizelerin dizisinin büyük/küçük harf seçeneğini değiştirme) veya daha karmaşık bir işlem içerebilir ve üç argümanla çağrılır; öğenin değeri, öğenin dizini ve Array nesnesi:
function callback(item:*, index:int, array:Array):String; | |
thisObject:* (default = null) — İşlev için this olarak kullanılacak bir nesne.
|
Array — Orijinal dizideki öğelerin her birindeki işlevin sonuçlarını içeren yeni bir dizi.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
package {
import flash.display.Sprite;
public class Array_map extends Sprite {
public function Array_map() {
var arr:Array = new Array("one", "two", "Three");
trace(arr); // one,two,Three
var upperArr:Array = arr.map(toUpper);
trace(upperArr); // ONE,TWO,THREE
}
private function toUpper(element:*, index:int, arr:Array):String {
return String(element).toUpperCase();
}
}
}
pop | () | yöntem |
AS3 function pop():*| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir dizinin son öğesini kaldırır ve o öğenin değerini döndürür.
Döndürür* — Belirtilen dizideki son öğenin (herhangi bir veri türünde) değeri.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
a, b ve c öğelerini içeren bir letters Array nesnesi oluşturur. Ardından, pop() yöntemi kullanılarak son öğe (c) diziden kaldırılır ve letter String nesnesine atanır.
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
var letter:String = letters.pop();
trace(letters); // a,b
trace(letter); // c
push | () | yöntem |
AS3 function push(... args):uint| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir dizinin sonuna bir veya daha fazla öğe ekler ve dizinin yeni uzunluğunu döndürür.
Parametreler
... args — Dizine eklenecek bir veya birkaç değer.
|
uint — Yeni dizinin uzunluğunu temsil eden bir tam sayı.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
letters Array nesnesi oluşturur ve ardından push() yöntemini kullanarak diziye a, b ve c öğelerini doldurur.
var letters:Array = new Array();
letters.push("a");
letters.push("b");
letters.push("c");
trace(letters.toString()); // a,b,c
a öğesiyle doldurulan bir letters Array nesnesi oluşturur. Daha sonra b ve c öğelerini dizinin sonuna eklemek için push() yöntemi kullanılır. Bu dizin, push yönteminin ardından üç öğe içermiş olur.
var letters:Array = new Array("a");
var count:uint = letters.push("b", "c");
trace(letters); // a,b,c
trace(count); // 3
removeAt | () | yöntem |
AS3 function removeAt(index:int):*| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 19, AIR 19 |
Bir diziden tek bir öğe kaldırın. Bu yöntem, kopya oluşturmadan diziyi değiştirir.
Parametreler
index:int — Silinecek dizideki öğenin dizinini belirten bir tam sayı. Dizinin sonuna göre bir konum belirtmek için negatif bir tam sayı kullanabilirsiniz (örneğin, dizinin son öğesi -1'dir).
|
* — Orijinal diziden kaldırılmış öğe.
|
reverse | () | yöntem |
AS3 function reverse():Array| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Diziyi yerinde ters çevirir.
DöndürürArray — Yeni dizi.
|
Örnek ( Bu örnek nasıl kullanılır? )
a, b ve c öğelerini içeren bir letters Array nesnesi oluşturur. [c,b,a] dizisini oluşturmak için, reverse() yöntemi kullanılarak dizi öğelerinin sırası tersine çevrilir.
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
letters.reverse();
trace(letters); // c,b,a
shift | () | yöntem |
AS3 function shift():*| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir dizinin ilk öğesini kaldırır ve o öğeyi döndürür. Kalan dizi öğeleri orijinal konumları olan i'den i-1'e taşınır.
Döndürür* — Bir dizideki ilk öğe (herhangi bir veri türünde).
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
a, b ve c. öğelerini içeren bir letters Array nesnesi oluşturur. Ardından birinci öğeyi (a) letters içinden kaldırıp firstLetter dizesine atamak için shift() yöntemi kullanılır.
var letters:Array = new Array("a", "b", "c");
var firstLetter:String = letters.shift();
trace(letters); // b,c
trace(firstLetter); // a
slice | () | yöntem |
AS3 function slice(startIndex:int = 0, endIndex:int = 16777215):Array| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Orijinal diziyi değiştirmeden, orijinal dizideki öğelerin aralığını içeren yeni bir dizi döndürür. Döndürülen dizi, startIndex öğesini ve endIndex öğesi hariç o öğeye kadar olan tüm öğeleri içerir.
Herhangi bir parametre iletmezseniz, yeni dizi orijinal dizinin aynısıdır (sığ klon).
Parametreler
startIndex:int (default = 0) — Dilim için başlangıç noktasının dizinini belirten bir sayı. startIndex negatif bir sayıysa, başlangıç noktası, dizinin sonunda başlar; burada -1 son öğedir.
| |
endIndex:int (default = 16777215) — Dilim için bitiş noktasının dizinini belirten bir sayı. Bu parametreyi atlarsanız, dilim, dizinin başlangıç noktasından sonuna kadar tüm öğeleri içerir. endIndex negatif bir sayıysa, bitiş noktası, dizinin sonunda belirtilir; burada -1 son öğedir.
|
Array — Orijinal dizideki öğelerin aralığını içeren yeni bir dizi döndürür.
|
Örnek ( Bu örnek nasıl kullanılır? )
[a,b,c,d,e,f] öğelerini içeren bir letters Array nesnesi oluşturur. Daha sonra bir (b) ile üç (d) arasındaki öğelerde slice() yöntemi çağrılarak someLetters dizisi oluşturulur ve bunun sonucunda b ve c öğelerini içeren bir dizi verilir.
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(1,3);
trace(letters); // a,b,c,d,e,f
trace(someLetters); // b,c
[a,b,c,d,e,f] öğelerini içeren bir letters Array nesnesi oluşturur. Daha sonra iki öğesinde (c) slice() yöntemi çağrılarak someLetters dizisi oluşturulur ve bunun sonucunda [c,d,e,f] öğelerini içeren bir dizi verilir.
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(2);
trace(letters); // a,b,c,d,e,f
trace(someLetters); // c,d,e,f
[a,b,c,d,e,f] öğelerini içeren bir letters Array nesnesi oluşturur. Ardından, ikinciden son öğeye (e) kadarki öğelerde slice() yöntemi çağrılarak someLetters dizisi oluşturulur ve bunun sonucunda e ve f öğelerini içeren bir dizi verilir.
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(-2);
trace(letters); // a,b,c,d,e,f
trace(someLetters); // e,f
some | () | yöntem |
AS3 function some(callback:Function, thisObject:* = null):Boolean| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
true döndüren bir öğeye ulaşılıncaya kadar dizideki her öğede bir test işlevi çalıştırır. Bir dizideki tüm öğelerin belirli bir sayıdan daha az değere sahip olma gibi bir ölçütü karşılayıp karşılamadığını belirlemek için bu yöntemi kullanın.
Birinci parametre (callback) bir yöntem kapanışıysa, bu yöntem için ikinci parametrenin (thisObject) null olması gerekir. me adlı film klibinizde bir işlev oluşturduğunuzu varsayın:
function myFunction(obj:Object):void {
//your code here
}
Daha sonra da myArray adındaki bir dizide some() yöntemini kullanacağınızı varsayın:
myArray.some(myFunction, me);
myFunction, me tarafından geçersiz kılınamayan Timeline sınıfının bir üyesi olduğundan, Flash çalışma zamanı bir istisna atar. Şu şekilde işlevi bir değişkene atayarak bu zaman aşımı hatasını önleyebilirsiniz:
var myFunction:Function = function(obj:Object):void {
//your code here
};
myArray.some(myFunction, me);
Parametreler
callback:Function — Dizideki her öğe üzerinde çalışma işlevi. Bu işlev basit bir karşılaştırma (örneğin, item < 20) veya daha karmaşık bir işlem içerebilir ve üç argümanla çağrılır; öğenin değeri, öğenin dizini ve Array nesnesi:
function callback(item:*, index:int, array:Array):Boolean; | |
thisObject:* (default = null) — İşlev için this olarak kullanılacak bir nesne.
|
Boolean — Belirtilen işlev için dizideki tüm öğeler true değerini döndürürse, Boolean değeri true; aksi takdirde, false.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
package {
import flash.display.Sprite;
public class Array_some extends Sprite {
public function Array_some() {
var arr:Array = new Array();
arr[0] = "one";
arr[1] = "two";
arr[3] = "four";
var isUndef:Boolean = arr.some(isUndefined);
if (isUndef) {
trace("array contains undefined values: " + arr);
} else {
trace("array contains no undefined values.");
}
}
private function isUndefined(element:*, index:int, arr:Array):Boolean {
return (element == undefined);
}
}
}
sort | () | yöntem |
AS3 function sort(... args):Array| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir dizideki öğeleri sıralar. Bu yöntem, Unicode değerlerine göre sıralama yapar. (ASCII, Unicode öğesinin alt kümesidir.)
Varsayılan olarak, Array.sort() şu şekilde çalışır:
- Sıralama büyük/küçük harf duyarlıdır (Z, a'dan önce gelir).
- Sıralama artan sırada olur (a, b'den önce gelir).
- Dizi, sıralama düzenini yansıtacak şekilde değiştirilir, aynı sıralama alanı olan birden çok öğe herhangi bir düzen dikkate alınmaksızın sıralanmış diziye art arda yerleştirilir.
- Veri türü fark etmeksizin tüm öğeler, dizeymiş gibi sıralanır, bu nedenle "1"'in dize değeri "9"dan düşük olduğu için 100, 99'dan önce gelir.
Varsayılan ayarlardan sapan ayarları kullanarak bir diziyi sıralamak için, ...args parametresinin sortOptions bölümünde açıklanan sıralama seçeneklerinden birini kullanabilir veya sıralamayı yapmak için kendi özel işlevinizi oluşturabilirsiniz. Özel bir işlev oluşturursanız, sort() yöntemini çağırıp özel işlevinizin adını birinci argüman (compareFunction) olarak kullanırsınız.
Parametreler
... args — Bir karşılaştırma işlevini belirten ve sıralama davranışını belirleyen bir veya daha fazla değeri belirten argümanlar.
Bu yöntem, şu şekilde tanımlanan argümanlarla birlikte
|
Array — Dönüş değeri, şu listede açıklandığı gibi herhangi bir argüman iletip iletmemenize dayanır.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
[spinach, green pepper, cilantro, onion, avocado] öğelerini içeren bir vegetables Array nesnesi oluşturur. Daha sonra dizi, parametre olmadan çağrılan sort() yöntemine göre sıralanır. Sonuç olarak, vegetables alfabetik düzende sıralanır ([avocado, cilantro, green pepper, onion, spinach]).
var vegetables:Array = new Array("spinach",
"green pepper",
"cilantro",
"onion",
"avocado");
trace(vegetables); // spinach,green pepper,cilantro,onion,avocado
vegetables.sort();
trace(vegetables); // avocado,cilantro,green pepper,onion,spinach
[spinach, green pepper, Cilantro, Onion ve Avocado] öğelerini içeren bir vegetables Array nesnesi oluşturur. Daha sonra dizi, ilk anda parametre olmadan çağrılan sort() yöntemine göre sıralanır; sonuç olarak [Avocado,Cilantro,Onion,green pepper,spinach] şeklinde sıralama olur. Ardından parametre olarak CASEINSENSITIVE sabitiyle tekrar vegetables üzerinde sort() çağrılır. Sonuç olarak, vegetables alfabetik düzende sıralanır ([Avocado, Cilantro, green pepper, Onion, spinach]).
var vegetables:Array = new Array("spinach",
"green pepper",
"Cilantro",
"Onion",
"Avocado");
vegetables.sort();
trace(vegetables); // Avocado,Cilantro,Onion,green pepper,spinach
vegetables.sort(Array.CASEINSENSITIVE);
trace(vegetables); // Avocado,Cilantro,green pepper,Onion,spinach
vegetables Array nesnesi oluşturur ve bu nesne daha sonra beş push() çağrısıyla doldurulur. push() her çağrıldığında, bir String (name) ve Number (price) nesnesini kabul eden Vegetable() yapıcısına bir çağrı yapılarak yeni bir Vegetable nesnesi oluşturulur. Gösterilen değerlerle push() öğesinin beş defa çağrılması sonucunda şu dizi verilir: [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]. Daha sonra diziyi sıralamak için sort() yöntemi kullanılır ve bunun sonucunda [asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44] dizisi verilir.
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sort();
trace(vegetables);
// asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44
//The following code defines the Vegetable class
class Vegetable {
private var name:String;
private var price:Number;
public function Vegetable(name:String, price:Number) {
this.name = name;
this.price = price;
}
public function toString():String {
return " " + name + ":" + price;
}
}
sort() yönteminin alfabetik olarak değil de fiyata göre sıralama yapan özel bir sıralama işleviyle (sortOnPrice) kullanılmasıdır. Yeni getPrice() işlevinin fiyatı dışa aktardığını unutmayın.
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sort(sortOnPrice);
trace(vegetables);
// celery:1.29, squash:1.44, lettuce:1.49, spinach:1.89, asparagus:3.99
function sortOnPrice(a:Vegetable, b:Vegetable):Number {
var aPrice:Number = a.getPrice();
var bPrice:Number = b.getPrice();
if(aPrice > bPrice) {
return 1;
} else if(aPrice < bPrice) {
return -1;
} else {
//aPrice == bPrice
return 0;
}
}
// The following code defines the Vegetable class and should be in a separate package.
class Vegetable {
private var name:String;
private var price:Number;
public function Vegetable(name:String, price:Number) {
this.name = name;
this.price = price;
}
public function getPrice():Number {
return price;
}
public function toString():String {
return " " + name + ":" + price;
}
}
[3,5,100,34,10] öğelerini içeren numbers Array nesnesini oluşturur. Herhangi bir parametre olmadan sort() çağrısı yapıldığında, sıralama alfabetik olur ve bu da istenmeyen sonuçlara [10,100,3,34,5] yol açabilir. Sayısal değerleri düzgün şekilde sıralamak için, NUMERIC sabitini sort() yöntemine iletmeniz gerekir, bu yöntem numbers öğesini şu şekilde sıralar: [3,5,10,34,100].
Not: sort() işlevinin varsayılan davranışı, her varlığı dize olarak ele almaktır. Array.NUMERIC argümanını kullanırsanız, Flash çalışma zamanı, sıralama amacıyla sayısal olmayan değerleri tam sayılara dönüştürmeye çalışır. Başarısız olursa, çalışma zamanı bir hata atar. Örneğin, çalışma zamanı "6" String değerini başarıyla bir tam sayıya dönüştürebilir, ancak "six" String değeriyle karşılaşırsa hata atar.
var numbers:Array = new Array(3,5,100,34,10); trace(numbers); // 3,5,100,34,10 numbers.sort(); trace(numbers); // 10,100,3,34,5 numbers.sort(Array.NUMERIC); trace(numbers); // 3,5,10,34,100
sortOn | () | yöntem |
AS3 function sortOn(fieldName:Object, options:Object = null):Array| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir dizideki öğeleri, dizideki bir veya daha fazla alana göre sıralar. Dizide şu özellikler olmalıdır:
- Dizi, ilişkilendirilebilir bir dizi değil, dizinli bir dizidir.
- Dizinin her öğesinde bir veya daha fazla özelliğe sahip bir nesne bulunur.
- Tüm nesnelerin ortak en az bir özelliği vardır, bu özelliğin değerleri diziyi sıralamak için kullanılabilir. Bu özellik türüne field denir.
Birden çok fieldName parametresi iletirseniz, birinci alan birincil sıralama alanını ve ikinci alan da sonraki sıralama alanını, vb. temsil eder. Flash, Unicode değerlerine göre sıralar. (ASCII, Unicode öğesinin alt kümesidir.) Karşılaştırılan öğelerden herhangi biri fieldName parametresinde belirtilen alanı içermezse, alanın undefined olarak ayarlandığı varsayılır ve öğeler herhangi bir düzen dikkate alınmaksızın sıralanmış diziye art arda yerleştirilir.
Varsayılan olarak, Array.sortOn() şu şekilde çalışır:
- Sıralama büyük/küçük harf duyarlıdır (Z, a'dan önce gelir).
- Sıralama artan sırada olur (a, b'den önce gelir).
- Dizi, sıralama düzenini yansıtacak şekilde değiştirilir, aynı sıralama alanı olan birden çok öğe herhangi bir düzen dikkate alınmaksızın sıralanmış diziye art arda yerleştirilir.
- Sayısal alanlar dizeymiş gibi sıralanır, bu nedenle "1"in dize değeri "9"dan düşük olduğu için 100, 99'dan önce gelir.
Flash Player 7, varsayılan sıralama davranışını geçersiz kılmak için kullanabileceğiniz options parametresini eklemiştir. Basit bir diziyi (örneğin, yalnızca bir alan içeren bir dizi) sıralamak veya options parametresinin desteklemediği bir sıralama düzeni belirtmek için Array.sort() öğesini kullanın.
Birden çok bayrak iletmek için bunları bitsel OR (|) operatörüyle birbirinden ayırın:
my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);
Flash Player 8, birden çok alana göre sıralama yapıldığında her alan için farklı bir sıralama seçeneği belirtme yeteneğini eklemiştir. Flash Player 8 ve daha sonraki sürümlerinde options parametresi, her sıralama seçeneği fieldName parametresindeki bir sıralama alanına karşılık gelecek şekilde sıralama seçenekleri dizisini kabul eder. Şu örnek, azalan sıralama kullanarak birincil sıralama alanını (a); sayısal sıralama kullanarak ikincil sıralama alanını (b) ve büyük/küçük harf duyarsız sıralama kullanarak üçüncül sıralama alanını (c) sıralar:
Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]);
Not: fieldName ve options dizilerinin aynı sayıda öğeye sahip olması gerektiğini, aksi takdirde options dizisinin yok sayılacağını unutmayın. Ayrıca Array.UNIQUESORT ve Array.RETURNINDEXEDARRAY seçenekleri de yalnızca dizideki birinci öğe olarak kullanılabilir, aksi takdirde yok sayılır.
Parametreler
fieldName:Object — Sıralama değeri olarak kullanılacak bir alanı belirten dize veya birinci öğenin birincil sıralama alanını ve ikinci öğenin de ikincil sıralama alanını, vb. yansıttığı bir dizi.
| |
options:Object (default = null) — Sıralama davranışını değiştiren bitwise OR (|) operatörüyle birbirinden ayrılmış tanımlı sabitlerin bir veya birden çok numarası ya da adı. Şu değerler options parametresi için kabul edilebilir:
Bayrağın sayısal şekli (2) yerine dize şeklini (örneğin, |
Array — Dönüş değeri, herhangi bir parametre iletip iletmemenize bağlıdır.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
vegetables Array nesnesi oluşturur ve dizi daha sonra beş push() çağrısıyla doldurulur. push() her çağrıldığında, bir String (name) ve Number (price) nesnesini kabul eden Vegetable() yapıcısı çağrılarak yeni bir Vegetable nesnesi oluşturulur. Gösterilen değerlerle push() öğesinin beş defa çağrılması sonucunda şu dizi verilir: [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]. Daha sonra şu diziyi oluşturmak için name parametresiyle birlikte sortOn() yöntemi kullanılır: [asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44]. Ardından azalan düzende sayılara göre sıralanmış bir dizi oluşturmak için price parametresi ve NUMERIC ve DESCENDING sabitleri ile tekrar sortOn() yöntemi çağrılır: [asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29].
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sortOn("name");
trace(vegetables);
// asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44
vegetables.sortOn("price", Array.NUMERIC | Array.DESCENDING);
trace(vegetables);
// asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29
class Vegetable {
public var name:String;
public var price:Number;
public function Vegetable(name:String, price:Number) {
this.name = name;
this.price = price;
}
public function toString():String {
return " " + name + ":" + price;
}
}
records Array nesnesi oluşturur ve dizi daha sonra üç push() çağrısıyla doldurulur. push() her çağrıldığında, name ve city dizeleri ile zip numarası records öğesine eklenir. Dizi öğelerini yazdırmak için üç for döngüsü kullanılır. Birinci for döngüsü, öğeleri eklendikleri sırayla yazdırır. İkinci for döngüsü, sortOn() yöntemi kullanılarak records ada ve şehre göre sıralandıktan sonra çalıştırılır. records şehre ve sonra ada göre yeniden sıralandığı için, üçüncü for döngüsü farklı çıktılar oluşturur.
var records:Array = new Array();
records.push({name:"john", city:"omaha", zip:68144});
records.push({name:"john", city:"kansas city", zip:72345});
records.push({name:"bob", city:"omaha", zip:94010});
for(var i:uint = 0; i < records.length; i++) {
trace(records[i].name + ", " + records[i].city);
}
// Results:
// john, omaha
// john, kansas city
// bob, omaha
trace("records.sortOn('name', 'city');");
records.sortOn(["name", "city"]);
for(var i:uint = 0; i < records.length; i++) {
trace(records[i].name + ", " + records[i].city);
}
// Results:
// bob, omaha
// john, kansas city
// john, omaha
trace("records.sortOn('city', 'name');");
records.sortOn(["city", "name"]);
for(var i:uint = 0; i < records.length; i++) {
trace(records[i].name + ", " + records[i].city);
}
// Results:
// john, kansas city
// bob, omaha
// john, omaha
users Array nesnesi oluşturur ve dizi daha sonra dört push() çağrısıyla doldurulur. push() her çağrıldığında, kullanıcılara User() yapıcısı ve bir name dizesi ile age uint öğesi eklenmiş şekilde bir User nesnesi oluşturulur. Verilen dizi kümesi şudur: [Bob:3,barb:35,abcd:3,catchy:4].
Dizi daha sonra şu şekilde sıralanır:
- Yalnızca ada göre, ortaya çıkan dizi:
[Bob:3,abcd:3,barb:35,catchy:4] - Ada göre ve
CASEINSENSITIVEsabiti kullanılarak, ortaya çıkan dizi:[abcd:3,barb:35,Bob:3,catchy:4] - Ada göre ve
CASEINSENSITIVEveDESCENDINGsabitleri kullanılarak, ortaya çıkan dizi:[catchy:4,Bob:3,barb:35,abcd:3] - Yalnızca yaşa göre, ortaya çıkan dizi:
[abcd:3,Bob:3,barb:35,catchy:4] - Yaşa göre ve
NUMERICsabiti kullanılarak, ortaya çıkan dizi:[Bob:3,abcd:3,catchy:4,barb:35] - Yaşa göre ve
DESCENDINGveNUMERICsabitleri kullanılarak, ortaya çıkan dizi:[barb:35,catchy:4,Bob:3,abcd:3]
Daha sonra indices adında bir dizi oluşturulur ve yaşa göre ve NUMERIC ve RETURNINDEXEDARRAY sabitleri kullanılarak yapılan sıralama sonuçlarına eklenir, verilen dizi: [Bob:3,abcd:3,catchy:4,barb:35], bu daha sonra for döngüsü kullanılarak yazdırılır.
class User {
public var name:String;
public var age:Number;
public function User(name:String, age:uint) {
this.name = name;
this.age = age;
}
public function toString():String {
return this.name + ":" + this.age;
}
}
var users:Array = new Array();
users.push(new User("Bob", 3));
users.push(new User("barb", 35));
users.push(new User("abcd", 3));
users.push(new User("catchy", 4));
trace(users); // Bob:3,barb:35,abcd:3,catchy:4
users.sortOn("name");
trace(users); // Bob:3,abcd:3,barb:35,catchy:4
users.sortOn("name", Array.CASEINSENSITIVE);
trace(users); // abcd:3,barb:35,Bob:3,catchy:4
users.sortOn("name", Array.CASEINSENSITIVE | Array.DESCENDING);
trace(users); // catchy:4,Bob:3,barb:35,abcd:3
users.sortOn("age");
trace(users); // abcd:3,Bob:3,barb:35,catchy:4
users.sortOn("age", Array.NUMERIC);
trace(users); // Bob:3,abcd:3,catchy:4,barb:35
users.sortOn("age", Array.DESCENDING | Array.NUMERIC);
trace(users); // barb:35,catchy:4,Bob:3,abcd:3
var indices:Array = users.sortOn("age", Array.NUMERIC | Array.RETURNINDEXEDARRAY);
var index:uint;
for(var i:uint = 0; i < indices.length; i++) {
index = indices[i];
trace(users[index].name, ": " + users[index].age);
}
// Results:
// Bob : 3
// abcd : 3
// catchy : 4
// barb : 35
splice | () | yöntem |
AS3 function splice(startIndex:int, deleteCount:uint, ... values):Array| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir diziye öğe ekleyip diziden öğeyi kaldırır. Bu yöntem, kopya oluşturmadan diziyi değiştirir.
Not: Bir Array alt sınıfında bu yöntemi geçersiz kılmak için, şu örnekte gösterildiği gibi parametreler için ...args öğesini kullanın:
public override function splice(...args) {
// your statements here
}
Parametreler
startIndex:int — Ekleme veya silmenin başladığı dizideki öğenin dizinini belirten bir tam sayı. Dizinin sonuna göre bir konum belirtmek için negatif bir tam sayı kullanabilirsiniz (örneğin, dizinin son öğesi -1'dir).
| |
deleteCount:uint — Silinecek öğe sayısını belirten bir tam sayı. Bu sayı, startIndex parametresinde belirtilen öğeyi içerir. deleteCount parametresi için bir değer belirtmezseniz, yöntem startIndex öğesinden dizideki son öğeye kadar tüm değerleri siler. Değer 0 ise herhangi bir öğe silinmez.
| |
... values — startIndex parametresinde belirtilen konumdaki diziye eklenecek, virgülle ayrılmış bir veya birkaç değerden oluşan isteğe bağlı bir liste. Eklenen değer Array türündeyse, dizi değiştirilmeden korunur ve tek bir öğe olarak eklenir. Örneğin, varolan bir üç uzunluk dizisini başka bir üç uzunluk dizisine eklerseniz, sonuçta ortaya çıkan dizide yalnızca dört öğe olacaktır. Ancak bu öğelerden biri, üç uzunluk dizesi olacaktır.
|
Array — Orijinal diziden kaldırılmış öğeleri içeren bir dizi.
|
Örnek ( Bu örnek nasıl kullanılır? )
[spinach, green pepper, cilantro, onion, avocado] öğelerini içeren bir vegetables Array nesnesi oluşturur. Daha sonra, spliced dizisine cilantro ve onion öğelerini atayan 2 ve 2 parametreleriyle splice() yöntemi çağrılır. [spinach,green pepper,avocado] öğelerini içeren vegetables dizisi. vegetables dizisine ikinci öğe olarak [cilantro,onion] öğesini atamak için 1, 0 parametreleri ve spliced dizisi kullanılarak splice() yöntemi çağrılır.
var vegetables:Array = new Array("spinach",
"green pepper",
"cilantro",
"onion",
"avocado");
var spliced:Array = vegetables.splice(2, 2);
trace(vegetables); // spinach,green pepper,avocado
trace(spliced); // cilantro,onion
vegetables.splice(1, 0, spliced);
trace(vegetables); // spinach,cilantro,onion,green pepper,avocado
vegetables dizininde gerçekte dört öğe bulunduğu halde (ve ikinci öğe, iki öğe içeren başka bir dizi olduğu halde), cilantro ve onion öğelerinin bu dizinde 5 öğe varmış gibi izleme işlemi yaptığına dikkat edin. Ayrı ayrı cilantro ve onion eklemek için şu kullanılır:
var vegetables:Array = new Array("spinach",
"green pepper",
"cilantro",
"onion",
"avocado");
var spliced:Array = vegetables.splice(2, 2);
trace(vegetables); // spinach,green pepper,avocado
trace(spliced); // cilantro,onion
vegetables.splice(1, 0, "cilantro", "onion");
trace(vegetables); // spinach,cilantro,onion,green pepper,avocado
toLocaleString | () | yöntem |
public function toLocaleString():String| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirtilen dizideki öğeleri temsil eden bir dize döndürür. Dizideki 0 diziniyle başlayıp en yüksek dizinle biten her öğe, birleştirilmiş bir dizeye dönüştürülür ve virgüllerle birbirinden ayrılır. ActionScript 3.0 uygulamasında bu yöntem, Array.toString() yöntemiyle aynı değeri döndürür.
String — Dizi öğelerinden oluşan bir dize.
|
İlgili API Öğeleri
toString | () | yöntem |
public function toString():String| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirtilen dizideki öğeleri temsil eden bir dize döndürür. Dizideki 0 diziniyle başlayıp en yüksek dizinle biten her öğe, birleştirilmiş bir dizeye dönüştürülür ve virgüllerle birbirinden ayrılır. Özel bir ayırıcı belirtmek için, Array.join() yöntemini kullanın.
String — Dizi öğelerinden oluşan bir dize.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
vegnums değişkeninde saklar.
var vegetables:Array = new Array(); vegetables.push(1); vegetables.push(2); vegetables.push(3); vegetables.push(4); vegetables.push(5); var vegnums:String = vegetables.toString(); trace(vegnums+",6"); // 1,2,3,4,5,6
unshift | () | yöntem |
AS3 function unshift(... args):uint| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir dizinin başına bir veya daha fazla öğe ekler ve dizinin yeni uzunluğunu döndürür. Dizideki diğer öğeler orijinal konumları olan i'den i+1'e taşınır.
Parametreler
... args — Dizinin başına eklenecek bir veya daha fazla sayı, öğe ya da değişken.
|
uint — Dizinin yeni uzunluğunu temsil eden bir tam sayı.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
names Array nesnesi oluşturur. push() yöntemiyle Bill ve Jeff dizeleri eklenir ve sonra iki unshift() çağrısıyla names öğesinin başına Alfred ve Kyle dizeleri eklenir.
var names:Array = new Array();
names.push("Bill");
names.push("Jeff");
trace(names); // Bill,Jeff
names.unshift("Alfred");
names.unshift("Kyle");
trace(names); // Kyle,Alfred,Bill,Jeff
CASEINSENSITIVE | Sabit |
public static const CASEINSENSITIVE:uint = 1| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Array sınıfı sıralama yöntemleri için büyük/küçük harf duyarsız sıralama belirtir. sort() veya sortOn() yönteminde options parametresi için bu sabiti kullanabilirsiniz.
Bu sabitin değeri 1'dir.
İlgili API Öğeleri
DESCENDING | Sabit |
public static const DESCENDING:uint = 2| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Array sınıfı sıralama yöntemleri için azalan sırada sıralama belirtir. sort() veya sortOn() yönteminde options parametresi için bu sabiti kullanabilirsiniz.
Bu sabitin değeri 2'dir.
İlgili API Öğeleri
NUMERIC | Sabit |
public static const NUMERIC:uint = 16| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Array sınıfı sıralama yöntemleri için sayısal (karakter dizesi yerine) sıralama belirtir. options parametresine bu sabitin dahil edilmesi, sort() ve sortOn() yöntemlerinin sayıları sayısal karakter dizeleri olarak değil, sayısal değerler olarak sıralamasını sağlar. NUMERIC sabiti olmadan sıralama işlemi, her dizi öğesini karakter dizesi olarak değerlendirir ve sonuçları Unicode sırasında verir.
Örneğin, [2005, 7, 35] değer dizisi verildiğinde, NUMERIC sabiti options parametresine dahil edilmezse, sıralanan dizi [2005, 35, 7] olur ancak NUMERIC sabiti dahil edilirse, sıralanan dizi [7, 35, 2005] olur.
Bu sabit yalnızca dizideki sayılar için geçerlidir; ["23", "5"] gibi sayısal veri içeren dizeler için geçerli değildir.
Bu sabitin değeri 16'dır.
İlgili API Öğeleri
RETURNINDEXEDARRAY | Sabit |
public static const RETURNINDEXEDARRAY:uint = 8| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir sıralamanın dizi dizinlerinden oluşan bir dizi döndüreceğini belirtir. sort() veya sortOn() yönteminde options parametresi için bu sabiti kullanabilir, böylece orijinal dizi değiştirilmemiş durumdayken dizi öğelerinin birden çok görünümüne erişebilirsiniz.
Bu sabitin değeri 8'dir.
İlgili API Öğeleri
UNIQUESORT | Sabit |
public static const UNIQUESORT:uint = 4| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Array sınıfı sıralama yöntemleri için benzersiz sıralama gereksinimini belirtir. sort() veya sortOn() yönteminde options parametresi için bu sabiti kullanabilirsiniz. Sıralanan öğe veya alanlardan herhangi ikisi aynı değere sahipse, benzersiz sıralama seçeneği sıralamayı sonlandırır.
Bu sabitin değeri 4'tür.
İlgili API Öğeleri
myArr Array nesnesi oluşturur:
package {
import flash.display.Sprite;
public class ArrayExample extends Sprite {
public function ArrayExample() {
var myArr:Array = new Array();
trace(myArr.length); // 0
}
}
}
Tue Jun 12 2018, 01:09 PM Z
Miras Alınan Genel Özellikleri Gizle
Miras Alınan Genel Özellikleri Göster