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
,2
ve3
sayılarını içerennumbers
dizisi.a
,b
vec
harflerini içerenletters
dizisi.[1,2,3,a,b,c]
dizisini üretmek içinconcat()
yöntemini çağırannumbersAndLetters
dizisi.[a,b,c,1,2,3]
dizisini üretmek içinconcat()
yöntemini çağıranlettersAndNumbers
dizisi.
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
CASEINSENSITIVE
sabiti kullanılarak, ortaya çıkan dizi:[abcd:3,barb:35,Bob:3,catchy:4]
- Ada göre ve
CASEINSENSITIVE
veDESCENDING
sabitleri 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
NUMERIC
sabiti kullanılarak, ortaya çıkan dizi:[Bob:3,abcd:3,catchy:4,barb:35]
- Yaşa göre ve
DESCENDING
veNUMERIC
sabitleri 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