Array properties

Shravan Sharma
Shravan SharmaUX/UI Programmer um Saama
Array

Package                Top Level

Class                  public dynamic class Array

Inheritance            Array    Object
  Language
                      ActionScript 3.0
  Version:
  Runtime
                      Flash Player 9, AIR 1.0
  Versions:
  The Array class lets you access and manipulate arrays. Array indices are zero-based, which means that
  the first element in the array is [0], the second element is [1], and so on. To create an Array object,
  you use the new Array() constructor . Array() can also be invoked as a function. In addition, you can
  use the array access ([]) operator to initialize an array or access the elements of an array.

  You can store a wide variety of data types in an array element, including numbers, strings, objects, and
  even other arrays. You can create a multidimensional array by creating an indexed array and assigning to
  each of its elements a different indexed array. Such an array is considered multidimensional because it
  can be used to represent data in a table.

  Arrays are sparse arrays, meaning there might be an element at index 0 and another at index 5, but
  nothing in the index positions between those two elements. In such a case, the elements in positions 1
  through 4 are undefined, which indicates the absence of an element, not necessarily the presence of an
  element with the value undefined.

  Array assignment is by reference rather than by value. When you assign one array variable to another
  array variable, both refer to the same array:

   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.



  Do not use the Array class to create associative arrays (also called hashes), which are data structures
  that contain named elements instead of numbered elements. To create associative arrays, use the Object
  class. Although ActionScript permits you to create associative arrays using the Array class, you cannot
  use any of the Array class methods or properties with associative arrays.

  You can extend the Array class and override or add methods. However, you must specify the subclass
  as dynamic or you will lose the ability to store data in an array.

  View the examples
See also

[] (array access)
Object class

Public Properties
  Show Inherited Public Properties

 Property


    length : uint

    A non-negative integer specifying the number of elements in the array.


Public Methods
  Show Inherited Public Methods

 Method


Array(numElements:int = 0)

    Lets you create an array of the specified number of elements.


Array(... values)

    Lets you create an array that contains the specified elements.


concat(... args):Array

    Concatenates the elements specified in the parameters with the elements in an array and creates a new array.


every(callback:Function, thisObject:* = null):Boolean

    Executes a test function on each item in the array until an item is reached that returns false for the specified function.


filter(callback:Function, thisObject:* = null):Array

    Executes a test function on each item in the array and constructs a new array for all items that return true for the specified function.


forEach(callback:Function, thisObject:* = null):void
Executes a function on each item in the array.


indexOf(searchElement:*, fromIndex:int = 0):int

    Searches for an item in an array by using strict equality (===) and returns the index position of the item.


join(sep:*):String

    Converts the elements in an array to strings, inserts the specified separator between the elements, concatenates them, and returns th


lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int

    Searches for an item in an array, working backward from the last item, and returns the index position of the matching item using st


map(callback:Function, thisObject:* = null):Array

    Executes a function on each item in an array, and constructs a new array of items corresponding to the results of the function on ea


pop():*

    Removes the last element from an array and returns the value of that element.


push(... args):uint

    Adds one or more elements to the end of an array and returns the new length of the array.


reverse():Array

    Reverses the array in place.


shift():*

    Removes the first element from an array and returns that element.


slice(startIndex:int = 0, endIndex:int = 16777215):Array

    Returns a new array that consists of a range of elements from the original array, without modifying the original array.
some(callback:Function, thisObject:* = null):Boolean

    Executes a test function on each item in the array until an item is reached that returns true.


sort(... args):Array

    Sorts the elements in an array.


sortOn(fieldName:Object, options:Object = null):Array

    Sorts the elements in an array according to one or more fields in the array.


splice(startIndex:int, deleteCount:uint, ... values):Array

    Adds elements to and removes elements from an array.


toLocaleString():String

    Returns a string that represents the elements in the specified array.


toString():String

    Returns a string that represents the elements in the specified array.


unshift(... args):uint

    Adds one or more elements to the beginning of an array and returns the new length of the array.


Public Constants
 Constant


    CASEINSENSITIVE : uint = 1

    [static] Specifies case-insensitive sorting for the Array class sorting methods.


    DESCENDING : uint = 2

    [static] Specifies descending sorting for the Array class sorting methods.
NUMERIC : uint = 16

   [static] Specifies numeric (instead of character-string) sorting for the Array class sorting methods.


   RETURNINDEXEDARRAY : uint = 8

   [static] Specifies that a sort returns an array that consists of array indices.


   UNIQUESORT : uint = 4

   [static] Specifies the unique sorting requirement for the Array class sorting methods.


Property Detail

   length property
length:uint

Language
                     ActionScript 3.0
Version:
Runtime
                     Flash Player 9, AIR 1.0
Versions:

A non-negative integer specifying the number of elements in the array. This property is automatically
updated when new elements are added to the array. When you assign a value to an array element (for
example,my_array[index] = value), if index is a number, and index+1 is greater than
the length property, the length property is updated to index+1.

Note: If you assign a value to the length property that is shorter than the existing length, the array will
be truncated.




Implementation
     public function get length():uint
     public function set length(value:uint):void

Example ( How to use this example )
The following code creates an Array object names with the string element Bill. It then uses
the push() method to add another string element Kyle. The length of the array, as determined by
the length property, was one element before the use of push() and is two elements after push() is
called. Another string, Jeff, is added to make the length of names three elements. The shift() method
is then called twice to removeBill and Kyle, making the final array of length one.


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

Constructor Detail

            (
   Array ) Constructor
public function Array(numElements:int = 0)

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:

Lets you create an array of the specified number of elements. If you don't specify any parameters, an
array containing 0 elements is created. If you specify a number of elements, an array is created
with numElementsnumber of elements.

Note: This class shows two constructor method entries because the constructor accepts variable types of
arguments. The constructor behaves differently depending on the type and number of arguments passed,
as detailed in each entry. ActionScript 3.0 does not support method or constructor overloading.

Parameters

numElements:int (default = 0) — An integer that specifies the number of elements in the
array.

Throws

   RangeError — The argument is a number that is not an integer greater than or equal to
   0.

See also

[] array access
Array.length

Example ( How to use this example )

The following example creates the Array object myArr with no arguments and an initial length of 0:
package {
     import flash.display.Sprite;


     public class Array_Array extends Sprite {
public function Array_Array() {
                var myArr:Array = new Array();
                trace(myArr.length); // 0
            }
     }
}


The following example creates an Array object with 5 initial elements, with a length of 5, and populates
the first element with the string "one", and adds the string element "six" to the end of the array by
using thepush() method:
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
            }
     }
}


            (
    Array )Constructor
public function Array(... values)

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:

Lets you create an array that contains the specified elements. You can specify values of any type. The
first element in an array always has an index (or position) of 0.

Note: This class shows two constructor entries because the constructor accepts variable types of
arguments. The constructor behaves differently depending on the type and number of arguments passed,
as detailed in each entry. ActionSript 3.0 does not support method or constructor overloading.

Parameters

... values — A comma-separated list of one or more arbitrary values.
Note: If only a single numeric parameter is passed to the Array constructor, it is assumed to specify the
array's length property.

Throws

    RangeError — The argument is a number that is not an integer greater than or equal to
    0.

See also

[] array access
Array.length

Example ( How to use this example )

The following example creates a new Array object with an initial length of 3, populates the array with the
string elements one, two, and three, and then converts the elements to a string.
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
            }
     }
}

Method Detail

                (
    concat )
           method
AS3 function concat(... args):Array

Language
                       ActionScript 3.0
Version:
Runtime
                       Flash Player 9, AIR 1.0
Versions:

Concatenates the elements specified in the parameters with the elements in an array and creates a new
array. If the parameters specify an array, the elements of that array are concatenated.

Parameters

... args — A value of any data type (such as numbers, elements, or strings) to be concatenated in a new array. If
you don't pass any values, the new array is a duplicate of the original array.
Returns

   Array — An array that contains the elements from this array followed by elements from the
   parameters.

Example ( How to use this example )

The following code creates four Array objects:

                 •   The numbers array, which contains the numbers 1, 2, and 3.
                 •   The letters array, which contains the letters a, b, and c.
                 •   The numbersAndLetters array, which calls the concat() method to produce the
                     array [1,2,3,a,b,c].
                 •   The lettersAndNumbers array, which calls the concat() method to produce the
                     array [a,b,c,1,2,3].


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 )method
AS3 function every(callback:Function, thisObject:* = null):Boolean

Language
                     ActionScript 3.0
Version:
Runtime
                     Flash Player 9, AIR 1.0
Versions:

Executes a test function on each item in the array until an item is reached that returns false for the
specified function. You use this method to determine whether all items in an array meet a criterion, such
as having values less than a particular number.

Parameters

callback:Function — The function to run on each item in the array. This function can contain a simple
comparison (for example, item < 20) or a more complex operation, and is invoked with three arguments; the
value of an item, the index of an item, and the Array object:
function callback(item:*, index:int, array:Array):Boolean;

thisObject:* (default = null) — An object to use as this for the function.
Returns
Boolean — A Boolean value of true if all items in the array return true for the specified function;
    otherwise, false.

See also

Array.some()

Example ( How to use this example )

The following example tests two arrays to determine whether every item in each array is a number. It
also outputs the results of the test, showing that isNumeric is true for the first array and false for the
second:
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 )
          method
AS3 function filter(callback:Function, thisObject:* = null):Array

Language
                    ActionScript 3.0
Version:
Runtime
                    Flash Player 9, AIR 1.0
Versions:

Executes a test function on each item in the array and constructs a new array for all items that
return true for the specified function. If an item returns false, it is not included in the new array.

Parameters

callback:Function — The function to run on each item in the array. This function can contain a simple
comparison (for example, item < 20) or a more complex operation, and is invoked with three arguments; the
value of an item, the index of an item, and the Array object:
     function callback(item:*, index:int, array:Array):Boolean;

thisObject:* (default = null) — An object to use as this for the function.
Returns

    Array — A new array that contains all items from the original array that
    returned true.

See also

Array.map()

Example ( How to use this example )

The following example creates an array of all employees who are managers:
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 )method
AS3 function forEach(callback:Function, thisObject:* = null):void

Language              ActionScript 3.0
Version:
Runtime
                    Flash Player 9, AIR 1.0
Versions:

Executes a function on each item in the array.

Parameters

callback:Function — The function to run on each item in the array. This function can contain a simple
command (for example, a trace() statement) or a more complex operation, and is invoked with three arguments;
the value of an item, the index of an item, and the Array object:
     function callback(item:*, index:int, array:Array):void;

thisObject:* (default = null) — An object to use as this for the function.

Example ( How to use this example )

The following example runs the trace() statement in the traceEmployee() function on each item in the
array:
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 + ")");
            }
     }
}


The following example also runs the trace() statement in a slightly altered traceEmployee() function
on each item in the array:
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 )method
AS3 function indexOf(searchElement:*, fromIndex:int = 0):int

Language
                        ActionScript 3.0
Version:
Runtime
                        Flash Player 9, AIR 1.0
Versions:

Searches for an item in an array by using strict equality (===) and returns the index position of the item.

Parameters

searchElement:* — The item to find in the array.

fromIndex:int (default = 0) — The location in the array from which to start searching for the
item.
Returns

    int — A zero-based index position of the item in the array. If the searchElement argument is not found, the
    return value is -1.

See also

Array.lastIndexOf()
=== (strict equality)

Example ( How to use this example )

The following example displays the position of the specified array:
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
             }
     }
}


         (
    join )
         method
AS3 function join(sep:*):String

Language
                     ActionScript 3.0
Version:
Runtime
                    Flash Player 9, AIR 1.0
Versions:

Converts the elements in an array to strings, inserts the specified separator between the elements,
concatenates them, and returns the resulting string. A nested array is always separated by a comma (,),
not by the separator passed to the join() method.

Parameters

sep:* (default = NaN) — A character or string that separates array elements in the returned string. If you omit this
parameter, a comma is used as the default separator.
Returns

    String — A string consisting of the elements of an array converted to strings and separated by the specified
    parameter.

See also

String.split()

Example ( How to use this example )

The following code creates an Array object myArr with elements one, two, and three and then a string
containing one and two and three using the join() method.
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


The following code creates an Array object specialChars with elements (, ), -, and a blank space and
then creates a string containing (888) 867-5309. Then, using a for loop, it removes each type of
special character listed in specialChars to produce a string (myStr) that contains only the digits of the
phone number remaining: 888675309. Note that other characters, such as +, could have been added
to specialCharsand then this routine would work with international phone number formats.


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 )
                method
AS3 function lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int

Language
                      ActionScript 3.0
Version:
Runtime
                      Flash Player 9, AIR 1.0
Versions:

Searches for an item in an array, working backward from the last item, and returns the index position of
the matching item using strict equality (===).

Parameters

searchElement:* — The item to find in the array.

fromIndex:int (default = 0x7fffffff) — The location in the array from which to start searching for the item.
The default is the maximum value allowed for an index. If you do not specify fromIndex, the search starts at the
last item in the array.
Returns

    int — A zero-based index position of the item in the array. If the searchElement argument is not found, the
    return value is -1.

See also

Array.indexOf()
=== (strict equality)

Example ( How to use this example )

The following example displays the position of the specified array:
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 )method
AS3 function map(callback:Function, thisObject:* = null):Array

Language
                      ActionScript 3.0
Version:
Runtime
                      Flash Player 9, AIR 1.0
Versions:

Executes a function on each item in an array, and constructs a new array of items corresponding to the
results of the function on each item in the original array.

Parameters

callback:Function — The function to run on each item in the array. This function can contain a simple
command (such as changing the case of an array of strings) or a more complex operation, and is invoked with three
arguments; the value of an item, the index of an item, and the Array object:
      function callback(item:*, index:int, array:Array):void;
thisObject:* (default = null) — An object to use as this for the function.
Returns

    Array — A new array that contains the results of the function on each item in the original
    array.

See also

Array.filter()

Example ( How to use this example )

The following example changes all items in the array to use uppercase letters:
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();
             }
     }
}


    po (
    p )  method
AS3 function pop():*

Language
                     ActionScript 3.0
Version:
Runtime
                     Flash Player 9, AIR 1.0
Versions:

Removes the last element from an array and returns the value of that element.

Returns

    * — The value of the last element (of any data type) in the specified
    array.

See also
Array.push()
Array.shift()
Array.unshift()

Example ( How to use this example )

The following code creates an Array object letters with elements a, b, and c. The last element (c) is
then removed from the array using the pop() method and assigned to the String object letter.


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 ) method
AS3 function push(... args):uint

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:

Adds one or more elements to the end of an array and returns the new length of the array.

Parameters

... args — One or more values to append to the
array.
Returns

   uint — An integer representing the length of the new
   array.

See also

Array.pop()
Array.shift()
Array.unshift()

Example ( How to use this example )

The following code creates an empty Array object letters and then populates the array with the
elements a, b, and c using the push() method.


var letters:Array = new Array();


letters.push("a");
letters.push("b");
letters.push("c");


trace(letters.toString()); // a,b,c


The following code creates an Array object letters, which is initially populated with the element a.
The push() method is then used once to add the elements b and c to the end of the array, which is
three elements after the push.


var letters:Array = new Array("a");
var count:uint = letters.push("b", "c");


trace(letters); // a,b,c
trace(count);       // 3


                (
   reverse )method
AS3 function reverse():Array

Language
                    ActionScript 3.0
Version:
Runtime
                    Flash Player 9, AIR 1.0
Versions:

Reverses the array in place.

Returns

   Array — The new
   array.

Example ( How to use this example )

The following code creates an Array object letters with elements a, b, and c. The order of the array
elements is then reversed using the reverse() method to produce the array [c,b,a].


var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
letters.reverse();
trace(letters); // c,b,a


            (
   shift )
         method
AS3 function shift():*

Language
                    ActionScript 3.0
Version:
Runtime
                    Flash Player 9, AIR 1.0
Versions:

Removes the first element from an array and returns that element. The remaining array elements are
moved from their original position, i, to i-1.

Returns

   * — The first element (of any data type) in an
   array.

See also

Array.pop()
Array.push()
Array.unshift()

Example ( How to use this example )

The following code creates the Array object letters with elements a, b, and c. The shift() method is
then used to remove the first element (a) from letters and assign it to the string firstLetter.


var letters:Array = new Array("a", "b", "c");
var firstLetter:String = letters.shift();
trace(letters);            // b,c
trace(firstLetter); // a


         (
   slice )
         method
AS3 function slice(startIndex:int = 0, endIndex:int = 16777215):Array

Language
                     ActionScript 3.0
Version:
Runtime
                    Flash Player 9, AIR 1.0
Versions:

Returns a new array that consists of a range of elements from the original array, without modifying the
original array. The returned array includes the startIndex element and all elements up to, but not
including, theendIndex element.

If you don't pass any parameters, a duplicate of the original array is created.

Parameters

startIndex:int (default = 0) — A number specifying the index of the starting point for the slice.
If startIndex is a negative number, the starting point begins at the end of the array, where -1 is the last element.

endIndex:int (default = 16777215) — A number specifying the index of the ending point for the slice. If you
omit this parameter, the slice includes all elements from the starting point to the end of the array. IfendIndex is a
negative number, the ending point is specified from the end of the array, where -1 is the last element.
Returns

   Array — An array that consists of a range of elements from the original
   array.

Example ( How to use this example )

The following code creates an Array object letters with elements [a,b,c,d,e,f]. The
array someLetters is then created by calling the slice() method on elements one (b) through three
(d), resulting in an array with elements b and c.


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


The following code creates an Array object letters with elements [a,b,c,d,e,f].The
array someLetters is then created by calling the slice() method on element two (c), resulting in an
array with elements[c,d,e,f].


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


The following code creates an Array object letters with elements [a,b,c,d,e,f]. The
array someLetters is then created by calling the slice() method on the second to last element from
the end (e), resulting in an array with elements e and f.


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 ) method
AS3 function some(callback:Function, thisObject:* = null):Boolean

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:
Executes a test function on each item in the array until an item is reached that returns true. Use this
method to determine whether any items in an array meet a criterion, such as having a value less than a
particular number.

Parameters

callback:Function — The function to run on each item in the array. This function can contain a simple
comparison (for example item < 20) or a more complex operation, and is invoked with three arguments; the value
of an item, the index of an item, and the Array object:
     function callback(item:*, index:int, array:Array):Boolean;

thisObject:* (default = null) — An object to use as this for the function.
Returns

    Boolean — A Boolean value of true if any items in the array return true for the specified function;
    otherwise false.

See also

every()

Example ( How to use this example )

The following example displays which values are undefined:
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 )method
AS3 function sort(... args):Array

Language
                       ActionScript 3.0
Version:
Runtime
                      Flash Player 9, AIR 1.0
Versions:

Sorts the elements in an array. This method sorts according to Unicode values. (ASCII is a subset of
Unicode.)

By default, Array.sort() works in the following way:

               •   Sorting is case-sensitive (Z precedes a).
               •   Sorting is ascending (a precedes b).
               •   The array is modified to reflect the sort order; multiple elements that have identical sort
                   fields are placed consecutively in the sorted array in no particular order.
               •   All elements, regardless of data type, are sorted as if they were strings, so 100 precedes
                   99, because "1" is a lower string value than "9".

To sort an array by using settings that deviate from the default settings, you can either use one of the
sorting options described in the sortOptions portion of the ...args parameter description, or you can
create your own custom function to do the sorting. If you create a custom function, you call
the sort() method, and use the name of your custom function as the first argument
(compareFunction)

Parameters

... args — The arguments specifying a comparison function and one or more values that determine the behavior
of the sort.

This method uses the syntax and argument order Array.sort(compareFunction, sortOptions) with the
arguments defined as follows:

     •    compareFunction - A comparison function used to determine the sorting order of elements in an array.
          This argument is optional. A comparison function should take two arguments to compare. Given the
          elements A and B, the result of compareFunction can have a negative, 0, or positive value:
              o A negative return value specifies that A appears before B in the sorted sequence.
              o A return value of 0 specifies that A and B have the same sort order.
              o A positive return value specifies that A appears after B in the sorted sequence.
     •    sortOptions - One or more numbers or defined constants, separated by the | (bitwise OR) operator, that
          change the behavior of the sort from the default. This argument is optional. The following values are
          acceptable for sortOptions:
              o 1 or Array.CASEINSENSITIVE
              o 2 or Array.DESCENDING
              o 4 or Array.UNIQUESORT
              o 8 or Array.RETURNINDEXEDARRAY
              o 16 or Array.NUMERIC

          For more information, see the Array.sortOn() method.
Returns

   Array — The return value depends on whether you pass any arguments, as described in the following list:

       •   If you specify a value of 4 or Array.UNIQUESORT for the sortOptions argument of
           the ...args parameter and two or more elements being sorted have identical sort fields, Flash returns
           a value of 0 and does not modify the array.
       •   If you specify a value of 8 or Array.RETURNINDEXEDARRAY for the sortOptions argument of
           the ...args parameter, Flash returns a sorted numeric array of the indices that reflects the results of
           the sort and does not modify the array.

       •   Otherwise, Flash returns nothing and modifies the array to reflect the sort order.

See also

| (bitwise OR)
Array.sortOn()

Example ( How to use this example )

The following code creates the Array object vegetables with elements [spinach, green pepper,
cilantro, onion, avocado]. The array is then sorted by the sort() method, which is called with no
parameters. The result is vegetables sorted in alphabetical order ([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


The following code creates the Array object vegetables with elements [spinach, green pepper,
Cilantro, Onion, and Avocado]. The array is then sorted by the sort() method, which is called with
no parameters the first time; the result is [Avocado,Cilantro,Onion,green pepper,spinach].
Then sort() is called on vegetables again with the CASEINSENSITIVE constant as a parameter. The
result isvegetables sorted in alphabetical order ([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


The following code creates the empty Array object vegetables, which is then populated through five
calls to push(). Each time push() is called, a new Vegetable object is created by a call to
the Vegetable()constructor, which accepts a String (name) and Number (price) object.
Calling push() five times with the values shown results in the following array: [lettuce:1.49,
spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]. The sort() method is then used to
sort the array, resulting in the array [asparagus:3.99, celery:1.29, lettuce:1.49,
spinach:1.89, squash:1.44].
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;
}
}


The following example is exactly the same as the previous one, except that the sort() method is used
with a custom sort function (sortOnPrice), which sorts according to price instead of alphabetically. Note
that the new function getPrice() extracts the price.


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


The following code creates the Array object numbers with elements [3,5,100,34,10]. A call
to sort() without any parameters sorts alphabetically, producing the undesired
result [10,100,3,34,5]. To properly sort numeric values, you must pass the constant NUMERIC to
the sort() method, which sorts numbers as follows: [3,5,10,34,100].

Note: The default behavior of the sort() function is to handle each entity as a string.
The Array.NUMERIC argument does not actually convert other data types to the Number data type; it
simply allows the sort algorithm to recognize numbers.


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


    sortO (
    n     ) method
AS3 function sortOn(fieldName:Object, options:Object = null):Array

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:

Sorts the elements in an array according to one or more fields in the array. The array should have the
following characteristics:
•    The array is an indexed array, not an associative array.
           •    Each element of the array holds an object with one or more properties.
           •    All of the objects have at least one property in common, the values of which can be used
                to sort the array. Such a property is called a field.

If you pass multiple fieldName parameters, the first field represents the primary sort field, the second
represents the next sort field, and so on. Flash sorts according to Unicode values. (ASCII is a subset of
Unicode.) If either of the elements being compared does not contain the field that is specified in
the fieldName parameter, the field is assumed to be set to undefined, and the elements are placed
consecutively in the sorted array in no particular order.

By default, Array.sortOn() works in the following way:

           •    Sorting is case-sensitive (Z precedes a).
           •    Sorting is ascending (a precedes b).
           •    The array is modified to reflect the sort order; multiple elements that have identical sort
                fields are placed consecutively in the sorted array in no particular order.
           •    Numeric fields are sorted as if they were strings, so 100 precedes 99, because "1" is a
                lower string value than "9".

Flash Player 7 added the options parameter, which you can use to override the default sort behavior. To
sort a simple array (for example, an array with only one field), or to specify a sort order that
the options parameter doesn't support, use Array.sort().

To pass multiple flags, separate them with the bitwise OR (|) operator:

      my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);



Flash Player 8 added the ability to specify a different sorting option for each field when you sort by more
than one field. In Flash Player 8 and later, the options parameter accepts an array of sort options such
that each sort option corresponds to a sort field in the fieldName parameter. The following example
sorts the primary sort field, a, using a descending sort; the secondary sort field, b, using a numeric sort;
and the tertiary sort field, c, using a case-insensitive sort:

     Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC,
Array.CASEINSENSITIVE]);



Note: The fieldName and options arrays must have the same number of elements; otherwise,
the options array is ignored. Also, the Array.UNIQUESORT and Array.RETURNINDEXEDARRAY options
can be used only as the first element in the array; otherwise, they are ignored.

Parameters

fieldName:Object — A string that identifies a field to be used as the sort value, or an array in which the first
element represents the primary sort field, the second represents the secondary sort field, and so on.

options:Object (default = null) — One or more numbers or names of defined constants, separated by
the bitwise OR (|) operator, that change the sorting behavior. The following values are acceptable for
theoptions parameter:
•   Array.CASEINSENSITIVE or 1
    •   Array.DESCENDING or 2
    •   Array.UNIQUESORT or 4
    •   Array.RETURNINDEXEDARRAY or 8

   • Array.NUMERIC or 16
Returns

   Array — The return value depends on whether you pass any parameters:

        •   If you specify a value of 4 or Array.UNIQUESORT for the options parameter, and two or more
            elements being sorted have identical sort fields, a value of 0 is returned and the array is not modified.
        •   If you specify a value of 8 or Array.RETURNINDEXEDARRAY for the options parameter, an array is
            returned that reflects the results of the sort and the array is not modified.

        •   Otherwise, nothing is returned and the array is modified to reflect the sort order.

See also

| (bitwise OR)
Array.sort()

Example ( How to use this example )

The following code creates an empty Array object vegetables and the array is then populated using five
calls to push(). Each time push() is called, a new Vegetable object is created by calling
the Vegetable()constructor, which accepts a String (name) and Number (price) object.
Calling push() five times with the values shown results in the following array: [lettuce:1.49,
spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]. The sortOn() method is then used
with the name parameter to produce the following array: [asparagus:3.99, celery:1.29,
lettuce:1.49, spinach:1.89, squash:1.44]. ThesortOn() method is then called again with the
price parameter, and the NUMERIC and DESCENDING constants to produce an array sorted by numbers
in descending order: [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;
    }
}


The following code creates an empty Array object records and the array is then populated using three
calls to push(). Each time push() is called, the strings name and city and a zip number are added
to records. Three for loops are used to print the array elements. The first for loop prints the elements
in the order in which they were added. The second for loop is run after records has been sorted by
name and then city using the sortOn() method. The third for loop produces different output
because records is re-sorted by city then by name.



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


The following code creates an empty Array object users and the array is then populated using four calls
to push(). Each time push() is called, a User object is created with the User() constructor and
a name string and age uint are added to users. The resulting array set
is [Bob:3,barb:35,abcd:3,catchy:4].

The array is then sorted in the following ways:

              1. By name only, producing the array [Bob:3,abcd:3,barb:35,catchy:4]
              2. By name and using the CASEINSENSITIVE constant, producing the
                  array [abcd:3,barb:35,Bob:3,catchy:4]
              3. By name and using the CASEINSENSITIVE and DESCENDING constants, producing the
                 array [catchy:4,Bob:3,barb:35,abcd:3]
              4. By age only, producing the array [abcd:3,Bob:3,barb:35,catchy:4]
              5. By age and using the NUMERIC constant, producing the
                 array [Bob:3,abcd:3,catchy:4,barb:35]
              6. By age and using the DESCENDING and NUMERIC constants, producing the
                 array [barb:35,catchy:4,Bob:3,abcd:3]

An array called indices is then created and assigned the results of a sort by age and using
the NUMERIC and RETURNINDEXEDARRAY constants, resulting in the
array [Bob:3,abcd:3,catchy:4,barb:35], which is then printed out using a for loop.
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 )
          method
AS3 function splice(startIndex:int, deleteCount:uint, ... values):Array

Language
                      ActionScript 3.0
Version:
Runtime
                     Flash Player 9, AIR 1.0
Versions:

Adds elements to and removes elements from an array. This method modifies the array without making a
copy.

Note: To override this method in a subclass of Array, use ...args for the parameters, as this example
shows:

                public override function splice(...args) {
                  // your statements here
                }


Parameters

startIndex:int — An integer that specifies the index of the element in the array where the insertion or
deletion begins. You can use a negative integer to specify a position relative to the end of the array (for example, -1
is the last element of the array).

deleteCount:uint — An integer that specifies the number of elements to be deleted. This number includes the
element specified in the startIndex parameter. If you do not specify a value for the deleteCountparameter, the
method deletes all of the values from the startIndex element to the last element in the array. If the value is 0, no
elements are deleted.

... values — An optional list of one or more comma-separated values to insert into the array at the position
specified in the startIndex parameter. If an inserted value is of type Array, the array is kept intact and inserted as
a single element. For example, if you splice an existing array of length three with another array of length three, the
resulting array will have only four elements. One of the elements, however, will be an array of length three.
Returns
Array — An array containing the elements that were removed from the original
   array.

Example ( How to use this example )

The following code creates the Array object vegetables with the elements [spinach, green pepper,
cilantro, onion, avocado]. The splice() method is then called with the parameters 2 and 2, which
assigns cilantro and onion to the spliced array. The vegetables array then
contains [spinach,green pepper,avocado]. The splice() method is called a second time using the
parameters 1, 0, and thespliced array to assign [cilantro,onion] as the second element
in vegetables.


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




Notice that cilantro and onion trace out as if vegetables has 5 elements, even though it actually has
four (and the second element is another array containing two elements). To
add cilantro and onionindividually, you would use:


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 )method
public function toLocaleString():String

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:

Returns a string that represents the elements in the specified array. Every element in the array, starting
with index 0 and ending with the highest index, is converted to a concatenated string and separated by
commas. In the ActionScript 3.0 implementation, this method returns the same value as
the Array.toString() method.

Returns

   String — A string of array
   elements.

See also

Array.toString()


   toStrin (
   g       ) method
public function toString():String

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:

Returns a string that represents the elements in the specified array. Every element in the array, starting
with index 0 and ending with the highest index, is converted to a concatenated string and separated by
commas. To specify a custom separator, use the Array.join() method.

Returns

   String — A string of array
   elements.

See also

String.split()
Array.join()

Example ( How to use this example )

The following code creates an Array, converts the values to strings, and stores them in
the vegnums variable of the String data type.
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 )method
AS3 function unshift(... args):uint

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:

Adds one or more elements to the beginning of an array and returns the new length of the array. The
other elements in the array are moved from their original position, i, to i+1.

Parameters

... args — One or more numbers, elements, or variables to be inserted at the beginning of the
array.
Returns

   uint — An integer representing the new length of the
   array.

See also

Array.pop()
Array.push()
Array.shift()

Example ( How to use this example )

The following code creates the empty Array object names. The strings Bill and Jeff are added by
the push() method, and then the strings Alfred and Kyle are added to the beginning of names by two
calls to theunshift() method.


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

Constant Detail

   CASEINSENSITIVE Constant
public static const CASEINSENSITIVE:uint = 1

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:

Specifies case-insensitive sorting for the Array class sorting methods. You can use this constant for
the options parameter in the sort() or sortOn() method.

The value of this constant is 1.

See also

Array.sort()
Array.sortOn()


   DESCENDING Constant
public static const DESCENDING:uint = 2

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:

Specifies descending sorting for the Array class sorting methods. You can use this constant for
the options parameter in the sort() or sortOn() method.

The value of this constant is 2.

See also

Array.sort()
Array.sortOn()


   NUMERIC Constant
public static const NUMERIC:uint = 16

Language
                   ActionScript 3.0
Version:
Runtime            Flash Player 9, AIR 1.0
Versions:

Specifies numeric (instead of character-string) sorting for the Array class sorting methods. Including this
constant in the options parameter causes the sort() and sortOn() methods to sort numbers as
numeric values, not as strings of numeric characters. Without the NUMERIC constant, sorting treats each
array element as a character string and produces the results in Unicode order.

For example, given the array of values [2005, 7, 35], if the NUMERIC constant is not included in
the options parameter, the sorted array is [2005, 35, 7], but if the NUMERIC constant is included, the
sorted array is [7, 35, 2005].

This constant applies only to numbers in the array; it does not apply to strings that contain numeric data
such as ["23", "5"].

The value of this constant is 16.

See also

Array.sort()
Array.sortOn()


   RETURNINDEXEDARRAY Constant
public static const RETURNINDEXEDARRAY:uint = 8

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:

Specifies that a sort returns an array that consists of array indices. You can use this constant for
the options parameter in the sort() or sortOn() method, so you have access to multiple views of the
array elements while the original array is unmodified.

The value of this constant is 8.

See also

Array.sort()
Array.sortOn()


   UNIQUESORT Constant
public static const UNIQUESORT:uint = 4

Language
                   ActionScript 3.0
Version:
Runtime
                   Flash Player 9, AIR 1.0
Versions:

Specifies the unique sorting requirement for the Array class sorting methods. You can use this constant
for the options parameter in the sort() or sortOn() method. The unique sorting option terminates the
sort if any two elements or fields being sorted have identical values.
The value of this constant is 4.

See also

Array.sort()
Array.sortOn()

Examples (     How to use this example )
ArrayExample.as

The following example creates a new Array object myArr with no arguments and an initial length of 0:
package {
     import flash.display.Sprite;


     public class ArrayExample extends Sprite {
           public function ArrayExample() {
                 var myArr:Array = new Array();
                 trace(myArr.length); // 0
           }
     }
}




                                   © 2009 Adobe Systems Incorporated. All rights reserved.
                                             Sat Oct 3 2009, 04:15 AM -07:00

Recomendados

15 ruby arrays von
15 ruby arrays15 ruby arrays
15 ruby arraysWalker Maidana
638 views9 Folien
Python array von
Python arrayPython array
Python arrayArnab Chakraborty
172 views19 Folien
Net (f#) array von
Net (f#)  arrayNet (f#)  array
Net (f#) arrayDrRajeshreeKhande
76 views42 Folien
Collection and framework von
Collection and frameworkCollection and framework
Collection and frameworkSARAVANAN GOPALAKRISHNAN
100 views42 Folien
Arrays In Python | Python Array Operations | Edureka von
Arrays In Python | Python Array Operations | EdurekaArrays In Python | Python Array Operations | Edureka
Arrays In Python | Python Array Operations | EdurekaEdureka!
3.5K views30 Folien

Más contenido relacionado

Was ist angesagt?

LectureNotes-05-DSA von
LectureNotes-05-DSALectureNotes-05-DSA
LectureNotes-05-DSAHaitham El-Ghareeb
1.3K views15 Folien
An Introduction to Programming in Java: Arrays von
An Introduction to Programming in Java: ArraysAn Introduction to Programming in Java: Arrays
An Introduction to Programming in Java: ArraysMartin Chapman
1.4K views59 Folien
Java String Handling von
Java String HandlingJava String Handling
Java String HandlingInfoviaan Technologies
256 views23 Folien
Function Java Vector class von
Function Java Vector classFunction Java Vector class
Function Java Vector classNontawat Wongnuk
1.3K views47 Folien
Lecture20 vector von
Lecture20 vectorLecture20 vector
Lecture20 vectornurkhaledah
587 views23 Folien
LectureNotes-06-DSA von
LectureNotes-06-DSALectureNotes-06-DSA
LectureNotes-06-DSAHaitham El-Ghareeb
2.6K views22 Folien

Was ist angesagt?(20)

An Introduction to Programming in Java: Arrays von Martin Chapman
An Introduction to Programming in Java: ArraysAn Introduction to Programming in Java: Arrays
An Introduction to Programming in Java: Arrays
Martin Chapman1.4K views
Java Arrays von OXUS 20
Java ArraysJava Arrays
Java Arrays
OXUS 206.3K views
Arrays in python von moazamali28
Arrays in pythonArrays in python
Arrays in python
moazamali283.2K views
Javascript arrays von Hassan Dar
Javascript arraysJavascript arrays
Javascript arrays
Hassan Dar6.5K views
Arrays in programming von TaseerRao
Arrays in programmingArrays in programming
Arrays in programming
TaseerRao72 views
9781439035665 ppt ch09 von Terry Yoast
9781439035665 ppt ch099781439035665 ppt ch09
9781439035665 ppt ch09
Terry Yoast844 views
Java arrays von Jin Castor
Java arraysJava arrays
Java arrays
Jin Castor1.4K views
Java: Introduction to Arrays von Tareq Hasan
Java: Introduction to ArraysJava: Introduction to Arrays
Java: Introduction to Arrays
Tareq Hasan16.2K views
Lec 25 - arrays-strings von Princess Sam
Lec 25 - arrays-stringsLec 25 - arrays-strings
Lec 25 - arrays-strings
Princess Sam2.5K views

Similar a Array properties

Java arrays (1) von
Java arrays (1)Java arrays (1)
Java arrays (1)Liza Abello
477 views4 Folien
STRINGS IN JAVA von
STRINGS IN JAVASTRINGS IN JAVA
STRINGS IN JAVALOVELY PROFESSIONAL UNIVERSITY
208 views56 Folien
Collections von
CollectionsCollections
Collectionssagsharma
178 views34 Folien
Java.util von
Java.utilJava.util
Java.utilRamakrishna kapa
1.4K views14 Folien
Java script arrays von
Java script arraysJava script arrays
Java script arraysFrayosh Wadia
388 views46 Folien
Java script arrays von
Java script arraysJava script arrays
Java script arraysFrayosh Wadia
1.1K views46 Folien

Similar a Array properties(20)

Collections von sagsharma
CollectionsCollections
Collections
sagsharma178 views
Class notes(week 4) on arrays and strings von Kuntal Bhowmick
Class notes(week 4) on arrays and stringsClass notes(week 4) on arrays and strings
Class notes(week 4) on arrays and strings
Kuntal Bhowmick80 views
Strings Arrays von phanleson
Strings ArraysStrings Arrays
Strings Arrays
phanleson1.6K views
Class notes(week 4) on arrays and strings von Kuntal Bhowmick
Class notes(week 4) on arrays and stringsClass notes(week 4) on arrays and strings
Class notes(week 4) on arrays and strings
Kuntal Bhowmick78 views
Ap Power Point Chpt6 von dplunkett
Ap Power Point Chpt6Ap Power Point Chpt6
Ap Power Point Chpt6
dplunkett744 views
Java10 Collections and Information von SoftNutx
Java10 Collections and InformationJava10 Collections and Information
Java10 Collections and Information
SoftNutx295 views

Último

Roadmap to Become Experts.pptx von
Roadmap to Become Experts.pptxRoadmap to Become Experts.pptx
Roadmap to Become Experts.pptxdscwidyatamanew
14 views45 Folien
Spesifikasi Lengkap ASUS Vivobook Go 14 von
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14Dot Semarang
37 views1 Folie
Business Analyst Series 2023 - Week 3 Session 5 von
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
237 views20 Folien
Piloting & Scaling Successfully With Microsoft Viva von
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft VivaRichard Harbridge
12 views160 Folien
SAP Automation Using Bar Code and FIORI.pdf von
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdfVirendra Rai, PMP
22 views38 Folien
Empathic Computing: Delivering the Potential of the Metaverse von
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the MetaverseMark Billinghurst
476 views80 Folien

Último(20)

Spesifikasi Lengkap ASUS Vivobook Go 14 von Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang37 views
Business Analyst Series 2023 - Week 3 Session 5 von DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10237 views
Piloting & Scaling Successfully With Microsoft Viva von Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
Empathic Computing: Delivering the Potential of the Metaverse von Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst476 views
6g - REPORT.pdf von Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views
STPI OctaNE CoE Brochure.pdf von madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb13 views
The details of description: Techniques, tips, and tangents on alternative tex... von BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada126 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 von Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi126 views
From chaos to control: Managing migrations and Microsoft 365 with ShareGate! von sammart93
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
sammart939 views
Case Study Copenhagen Energy and Business Central.pdf von Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 views

Array properties

  • 1. Array Package Top Level Class public dynamic class Array Inheritance Array Object Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: The Array class lets you access and manipulate arrays. Array indices are zero-based, which means that the first element in the array is [0], the second element is [1], and so on. To create an Array object, you use the new Array() constructor . Array() can also be invoked as a function. In addition, you can use the array access ([]) operator to initialize an array or access the elements of an array. You can store a wide variety of data types in an array element, including numbers, strings, objects, and even other arrays. You can create a multidimensional array by creating an indexed array and assigning to each of its elements a different indexed array. Such an array is considered multidimensional because it can be used to represent data in a table. Arrays are sparse arrays, meaning there might be an element at index 0 and another at index 5, but nothing in the index positions between those two elements. In such a case, the elements in positions 1 through 4 are undefined, which indicates the absence of an element, not necessarily the presence of an element with the value undefined. Array assignment is by reference rather than by value. When you assign one array variable to another array variable, both refer to the same array: 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. Do not use the Array class to create associative arrays (also called hashes), which are data structures that contain named elements instead of numbered elements. To create associative arrays, use the Object class. Although ActionScript permits you to create associative arrays using the Array class, you cannot use any of the Array class methods or properties with associative arrays. You can extend the Array class and override or add methods. However, you must specify the subclass as dynamic or you will lose the ability to store data in an array. View the examples
  • 2. See also [] (array access) Object class Public Properties Show Inherited Public Properties Property length : uint A non-negative integer specifying the number of elements in the array. Public Methods Show Inherited Public Methods Method Array(numElements:int = 0) Lets you create an array of the specified number of elements. Array(... values) Lets you create an array that contains the specified elements. concat(... args):Array Concatenates the elements specified in the parameters with the elements in an array and creates a new array. every(callback:Function, thisObject:* = null):Boolean Executes a test function on each item in the array until an item is reached that returns false for the specified function. filter(callback:Function, thisObject:* = null):Array Executes a test function on each item in the array and constructs a new array for all items that return true for the specified function. forEach(callback:Function, thisObject:* = null):void
  • 3. Executes a function on each item in the array. indexOf(searchElement:*, fromIndex:int = 0):int Searches for an item in an array by using strict equality (===) and returns the index position of the item. join(sep:*):String Converts the elements in an array to strings, inserts the specified separator between the elements, concatenates them, and returns th lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int Searches for an item in an array, working backward from the last item, and returns the index position of the matching item using st map(callback:Function, thisObject:* = null):Array Executes a function on each item in an array, and constructs a new array of items corresponding to the results of the function on ea pop():* Removes the last element from an array and returns the value of that element. push(... args):uint Adds one or more elements to the end of an array and returns the new length of the array. reverse():Array Reverses the array in place. shift():* Removes the first element from an array and returns that element. slice(startIndex:int = 0, endIndex:int = 16777215):Array Returns a new array that consists of a range of elements from the original array, without modifying the original array.
  • 4. some(callback:Function, thisObject:* = null):Boolean Executes a test function on each item in the array until an item is reached that returns true. sort(... args):Array Sorts the elements in an array. sortOn(fieldName:Object, options:Object = null):Array Sorts the elements in an array according to one or more fields in the array. splice(startIndex:int, deleteCount:uint, ... values):Array Adds elements to and removes elements from an array. toLocaleString():String Returns a string that represents the elements in the specified array. toString():String Returns a string that represents the elements in the specified array. unshift(... args):uint Adds one or more elements to the beginning of an array and returns the new length of the array. Public Constants Constant CASEINSENSITIVE : uint = 1 [static] Specifies case-insensitive sorting for the Array class sorting methods. DESCENDING : uint = 2 [static] Specifies descending sorting for the Array class sorting methods.
  • 5. NUMERIC : uint = 16 [static] Specifies numeric (instead of character-string) sorting for the Array class sorting methods. RETURNINDEXEDARRAY : uint = 8 [static] Specifies that a sort returns an array that consists of array indices. UNIQUESORT : uint = 4 [static] Specifies the unique sorting requirement for the Array class sorting methods. Property Detail length property length:uint Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: A non-negative integer specifying the number of elements in the array. This property is automatically updated when new elements are added to the array. When you assign a value to an array element (for example,my_array[index] = value), if index is a number, and index+1 is greater than the length property, the length property is updated to index+1. Note: If you assign a value to the length property that is shorter than the existing length, the array will be truncated. Implementation public function get length():uint public function set length(value:uint):void Example ( How to use this example ) The following code creates an Array object names with the string element Bill. It then uses the push() method to add another string element Kyle. The length of the array, as determined by the length property, was one element before the use of push() and is two elements after push() is called. Another string, Jeff, is added to make the length of names three elements. The shift() method is then called twice to removeBill and Kyle, making the final array of length one. var names:Array = new Array("Bill"); names.push("Kyle"); trace(names.length); // 2
  • 6. names.push("Jeff"); trace(names.length); // 3 names.shift(); names.shift(); trace(names.length); // 1 Constructor Detail ( Array ) Constructor public function Array(numElements:int = 0) Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Lets you create an array of the specified number of elements. If you don't specify any parameters, an array containing 0 elements is created. If you specify a number of elements, an array is created with numElementsnumber of elements. Note: This class shows two constructor method entries because the constructor accepts variable types of arguments. The constructor behaves differently depending on the type and number of arguments passed, as detailed in each entry. ActionScript 3.0 does not support method or constructor overloading. Parameters numElements:int (default = 0) — An integer that specifies the number of elements in the array. Throws RangeError — The argument is a number that is not an integer greater than or equal to 0. See also [] array access Array.length Example ( How to use this example ) The following example creates the Array object myArr with no arguments and an initial length of 0: package { import flash.display.Sprite; public class Array_Array extends Sprite {
  • 7. public function Array_Array() { var myArr:Array = new Array(); trace(myArr.length); // 0 } } } The following example creates an Array object with 5 initial elements, with a length of 5, and populates the first element with the string "one", and adds the string element "six" to the end of the array by using thepush() method: 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 } } } ( Array )Constructor public function Array(... values) Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Lets you create an array that contains the specified elements. You can specify values of any type. The first element in an array always has an index (or position) of 0. Note: This class shows two constructor entries because the constructor accepts variable types of arguments. The constructor behaves differently depending on the type and number of arguments passed, as detailed in each entry. ActionSript 3.0 does not support method or constructor overloading. Parameters ... values — A comma-separated list of one or more arbitrary values.
  • 8. Note: If only a single numeric parameter is passed to the Array constructor, it is assumed to specify the array's length property. Throws RangeError — The argument is a number that is not an integer greater than or equal to 0. See also [] array access Array.length Example ( How to use this example ) The following example creates a new Array object with an initial length of 3, populates the array with the string elements one, two, and three, and then converts the elements to a string. 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 } } } Method Detail ( concat ) method AS3 function concat(... args):Array Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Concatenates the elements specified in the parameters with the elements in an array and creates a new array. If the parameters specify an array, the elements of that array are concatenated. Parameters ... args — A value of any data type (such as numbers, elements, or strings) to be concatenated in a new array. If
  • 9. you don't pass any values, the new array is a duplicate of the original array. Returns Array — An array that contains the elements from this array followed by elements from the parameters. Example ( How to use this example ) The following code creates four Array objects: • The numbers array, which contains the numbers 1, 2, and 3. • The letters array, which contains the letters a, b, and c. • The numbersAndLetters array, which calls the concat() method to produce the array [1,2,3,a,b,c]. • The lettersAndNumbers array, which calls the concat() method to produce the array [a,b,c,1,2,3]. 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 )method AS3 function every(callback:Function, thisObject:* = null):Boolean Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Executes a test function on each item in the array until an item is reached that returns false for the specified function. You use this method to determine whether all items in an array meet a criterion, such as having values less than a particular number. Parameters callback:Function — The function to run on each item in the array. This function can contain a simple comparison (for example, item < 20) or a more complex operation, and is invoked with three arguments; the value of an item, the index of an item, and the Array object: function callback(item:*, index:int, array:Array):Boolean; thisObject:* (default = null) — An object to use as this for the function. Returns
  • 10. Boolean — A Boolean value of true if all items in the array return true for the specified function; otherwise, false. See also Array.some() Example ( How to use this example ) The following example tests two arrays to determine whether every item in each array is a number. It also outputs the results of the test, showing that isNumeric is true for the first array and false for the second: 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 ) method AS3 function filter(callback:Function, thisObject:* = null):Array Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Executes a test function on each item in the array and constructs a new array for all items that return true for the specified function. If an item returns false, it is not included in the new array. Parameters callback:Function — The function to run on each item in the array. This function can contain a simple comparison (for example, item < 20) or a more complex operation, and is invoked with three arguments; the
  • 11. value of an item, the index of an item, and the Array object: function callback(item:*, index:int, array:Array):Boolean; thisObject:* (default = null) — An object to use as this for the function. Returns Array — A new array that contains all items from the original array that returned true. See also Array.map() Example ( How to use this example ) The following example creates an array of all employees who are managers: 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 )method AS3 function forEach(callback:Function, thisObject:* = null):void Language ActionScript 3.0
  • 12. Version: Runtime Flash Player 9, AIR 1.0 Versions: Executes a function on each item in the array. Parameters callback:Function — The function to run on each item in the array. This function can contain a simple command (for example, a trace() statement) or a more complex operation, and is invoked with three arguments; the value of an item, the index of an item, and the Array object: function callback(item:*, index:int, array:Array):void; thisObject:* (default = null) — An object to use as this for the function. Example ( How to use this example ) The following example runs the trace() statement in the traceEmployee() function on each item in the array: 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 + ")"); } } } The following example also runs the trace() statement in a slightly altered traceEmployee() function on each item in the array: 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" />
  • 13. <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 )method AS3 function indexOf(searchElement:*, fromIndex:int = 0):int Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Searches for an item in an array by using strict equality (===) and returns the index position of the item. Parameters searchElement:* — The item to find in the array. fromIndex:int (default = 0) — The location in the array from which to start searching for the item. Returns int — A zero-based index position of the item in the array. If the searchElement argument is not found, the return value is -1. See also Array.lastIndexOf() === (strict equality) Example ( How to use this example ) The following example displays the position of the specified array:
  • 14. 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 } } } ( join ) method AS3 function join(sep:*):String Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Converts the elements in an array to strings, inserts the specified separator between the elements, concatenates them, and returns the resulting string. A nested array is always separated by a comma (,), not by the separator passed to the join() method. Parameters sep:* (default = NaN) — A character or string that separates array elements in the returned string. If you omit this parameter, a comma is used as the default separator. Returns String — A string consisting of the elements of an array converted to strings and separated by the specified parameter. See also String.split() Example ( How to use this example ) The following code creates an Array object myArr with elements one, two, and three and then a string containing one and two and three using the join() method.
  • 15. 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 The following code creates an Array object specialChars with elements (, ), -, and a blank space and then creates a string containing (888) 867-5309. Then, using a for loop, it removes each type of special character listed in specialChars to produce a string (myStr) that contains only the digits of the phone number remaining: 888675309. Note that other characters, such as +, could have been added to specialCharsand then this routine would work with international phone number formats. 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 ) method AS3 function lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Searches for an item in an array, working backward from the last item, and returns the index position of the matching item using strict equality (===). Parameters searchElement:* — The item to find in the array. fromIndex:int (default = 0x7fffffff) — The location in the array from which to start searching for the item. The default is the maximum value allowed for an index. If you do not specify fromIndex, the search starts at the
  • 16. last item in the array. Returns int — A zero-based index position of the item in the array. If the searchElement argument is not found, the return value is -1. See also Array.indexOf() === (strict equality) Example ( How to use this example ) The following example displays the position of the specified array: 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 )method AS3 function map(callback:Function, thisObject:* = null):Array Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Executes a function on each item in an array, and constructs a new array of items corresponding to the results of the function on each item in the original array. Parameters callback:Function — The function to run on each item in the array. This function can contain a simple command (such as changing the case of an array of strings) or a more complex operation, and is invoked with three arguments; the value of an item, the index of an item, and the Array object: function callback(item:*, index:int, array:Array):void;
  • 17. thisObject:* (default = null) — An object to use as this for the function. Returns Array — A new array that contains the results of the function on each item in the original array. See also Array.filter() Example ( How to use this example ) The following example changes all items in the array to use uppercase letters: 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(); } } } po ( p ) method AS3 function pop():* Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Removes the last element from an array and returns the value of that element. Returns * — The value of the last element (of any data type) in the specified array. See also
  • 18. Array.push() Array.shift() Array.unshift() Example ( How to use this example ) The following code creates an Array object letters with elements a, b, and c. The last element (c) is then removed from the array using the pop() method and assigned to the String object letter. 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 ) method AS3 function push(... args):uint Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Adds one or more elements to the end of an array and returns the new length of the array. Parameters ... args — One or more values to append to the array. Returns uint — An integer representing the length of the new array. See also Array.pop() Array.shift() Array.unshift() Example ( How to use this example ) The following code creates an empty Array object letters and then populates the array with the elements a, b, and c using the push() method. var letters:Array = new Array(); letters.push("a");
  • 19. letters.push("b"); letters.push("c"); trace(letters.toString()); // a,b,c The following code creates an Array object letters, which is initially populated with the element a. The push() method is then used once to add the elements b and c to the end of the array, which is three elements after the push. var letters:Array = new Array("a"); var count:uint = letters.push("b", "c"); trace(letters); // a,b,c trace(count); // 3 ( reverse )method AS3 function reverse():Array Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Reverses the array in place. Returns Array — The new array. Example ( How to use this example ) The following code creates an Array object letters with elements a, b, and c. The order of the array elements is then reversed using the reverse() method to produce the array [c,b,a]. var letters:Array = new Array("a", "b", "c"); trace(letters); // a,b,c letters.reverse(); trace(letters); // c,b,a ( shift ) method AS3 function shift():* Language ActionScript 3.0 Version:
  • 20. Runtime Flash Player 9, AIR 1.0 Versions: Removes the first element from an array and returns that element. The remaining array elements are moved from their original position, i, to i-1. Returns * — The first element (of any data type) in an array. See also Array.pop() Array.push() Array.unshift() Example ( How to use this example ) The following code creates the Array object letters with elements a, b, and c. The shift() method is then used to remove the first element (a) from letters and assign it to the string firstLetter. var letters:Array = new Array("a", "b", "c"); var firstLetter:String = letters.shift(); trace(letters); // b,c trace(firstLetter); // a ( slice ) method AS3 function slice(startIndex:int = 0, endIndex:int = 16777215):Array Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Returns a new array that consists of a range of elements from the original array, without modifying the original array. The returned array includes the startIndex element and all elements up to, but not including, theendIndex element. If you don't pass any parameters, a duplicate of the original array is created. Parameters startIndex:int (default = 0) — A number specifying the index of the starting point for the slice. If startIndex is a negative number, the starting point begins at the end of the array, where -1 is the last element. endIndex:int (default = 16777215) — A number specifying the index of the ending point for the slice. If you omit this parameter, the slice includes all elements from the starting point to the end of the array. IfendIndex is a negative number, the ending point is specified from the end of the array, where -1 is the last element.
  • 21. Returns Array — An array that consists of a range of elements from the original array. Example ( How to use this example ) The following code creates an Array object letters with elements [a,b,c,d,e,f]. The array someLetters is then created by calling the slice() method on elements one (b) through three (d), resulting in an array with elements b and c. 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 The following code creates an Array object letters with elements [a,b,c,d,e,f].The array someLetters is then created by calling the slice() method on element two (c), resulting in an array with elements[c,d,e,f]. 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 The following code creates an Array object letters with elements [a,b,c,d,e,f]. The array someLetters is then created by calling the slice() method on the second to last element from the end (e), resulting in an array with elements e and f. 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 ) method AS3 function some(callback:Function, thisObject:* = null):Boolean Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions:
  • 22. Executes a test function on each item in the array until an item is reached that returns true. Use this method to determine whether any items in an array meet a criterion, such as having a value less than a particular number. Parameters callback:Function — The function to run on each item in the array. This function can contain a simple comparison (for example item < 20) or a more complex operation, and is invoked with three arguments; the value of an item, the index of an item, and the Array object: function callback(item:*, index:int, array:Array):Boolean; thisObject:* (default = null) — An object to use as this for the function. Returns Boolean — A Boolean value of true if any items in the array return true for the specified function; otherwise false. See also every() Example ( How to use this example ) The following example displays which values are undefined: 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); } } }
  • 23. ( sort )method AS3 function sort(... args):Array Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Sorts the elements in an array. This method sorts according to Unicode values. (ASCII is a subset of Unicode.) By default, Array.sort() works in the following way: • Sorting is case-sensitive (Z precedes a). • Sorting is ascending (a precedes b). • The array is modified to reflect the sort order; multiple elements that have identical sort fields are placed consecutively in the sorted array in no particular order. • All elements, regardless of data type, are sorted as if they were strings, so 100 precedes 99, because "1" is a lower string value than "9". To sort an array by using settings that deviate from the default settings, you can either use one of the sorting options described in the sortOptions portion of the ...args parameter description, or you can create your own custom function to do the sorting. If you create a custom function, you call the sort() method, and use the name of your custom function as the first argument (compareFunction) Parameters ... args — The arguments specifying a comparison function and one or more values that determine the behavior of the sort. This method uses the syntax and argument order Array.sort(compareFunction, sortOptions) with the arguments defined as follows: • compareFunction - A comparison function used to determine the sorting order of elements in an array. This argument is optional. A comparison function should take two arguments to compare. Given the elements A and B, the result of compareFunction can have a negative, 0, or positive value: o A negative return value specifies that A appears before B in the sorted sequence. o A return value of 0 specifies that A and B have the same sort order. o A positive return value specifies that A appears after B in the sorted sequence. • sortOptions - One or more numbers or defined constants, separated by the | (bitwise OR) operator, that change the behavior of the sort from the default. This argument is optional. The following values are acceptable for sortOptions: o 1 or Array.CASEINSENSITIVE o 2 or Array.DESCENDING o 4 or Array.UNIQUESORT o 8 or Array.RETURNINDEXEDARRAY o 16 or Array.NUMERIC For more information, see the Array.sortOn() method.
  • 24. Returns Array — The return value depends on whether you pass any arguments, as described in the following list: • If you specify a value of 4 or Array.UNIQUESORT for the sortOptions argument of the ...args parameter and two or more elements being sorted have identical sort fields, Flash returns a value of 0 and does not modify the array. • If you specify a value of 8 or Array.RETURNINDEXEDARRAY for the sortOptions argument of the ...args parameter, Flash returns a sorted numeric array of the indices that reflects the results of the sort and does not modify the array. • Otherwise, Flash returns nothing and modifies the array to reflect the sort order. See also | (bitwise OR) Array.sortOn() Example ( How to use this example ) The following code creates the Array object vegetables with elements [spinach, green pepper, cilantro, onion, avocado]. The array is then sorted by the sort() method, which is called with no parameters. The result is vegetables sorted in alphabetical order ([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 The following code creates the Array object vegetables with elements [spinach, green pepper, Cilantro, Onion, and Avocado]. The array is then sorted by the sort() method, which is called with no parameters the first time; the result is [Avocado,Cilantro,Onion,green pepper,spinach]. Then sort() is called on vegetables again with the CASEINSENSITIVE constant as a parameter. The result isvegetables sorted in alphabetical order ([Avocado, Cilantro, green pepper, Onion, spinach]). var vegetables:Array = new Array("spinach", "green pepper", "Cilantro", "Onion",
  • 25. "Avocado"); vegetables.sort(); trace(vegetables); // Avocado,Cilantro,Onion,green pepper,spinach vegetables.sort(Array.CASEINSENSITIVE); trace(vegetables); // Avocado,Cilantro,green pepper,Onion,spinach The following code creates the empty Array object vegetables, which is then populated through five calls to push(). Each time push() is called, a new Vegetable object is created by a call to the Vegetable()constructor, which accepts a String (name) and Number (price) object. Calling push() five times with the values shown results in the following array: [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]. The sort() method is then used to sort the array, resulting in the array [asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44]. 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;
  • 26. } } The following example is exactly the same as the previous one, except that the sort() method is used with a custom sort function (sortOnPrice), which sorts according to price instead of alphabetically. Note that the new function getPrice() extracts the price. 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;
  • 27. 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; } } The following code creates the Array object numbers with elements [3,5,100,34,10]. A call to sort() without any parameters sorts alphabetically, producing the undesired result [10,100,3,34,5]. To properly sort numeric values, you must pass the constant NUMERIC to the sort() method, which sorts numbers as follows: [3,5,10,34,100]. Note: The default behavior of the sort() function is to handle each entity as a string. The Array.NUMERIC argument does not actually convert other data types to the Number data type; it simply allows the sort algorithm to recognize numbers. 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 sortO ( n ) method AS3 function sortOn(fieldName:Object, options:Object = null):Array Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Sorts the elements in an array according to one or more fields in the array. The array should have the following characteristics:
  • 28. The array is an indexed array, not an associative array. • Each element of the array holds an object with one or more properties. • All of the objects have at least one property in common, the values of which can be used to sort the array. Such a property is called a field. If you pass multiple fieldName parameters, the first field represents the primary sort field, the second represents the next sort field, and so on. Flash sorts according to Unicode values. (ASCII is a subset of Unicode.) If either of the elements being compared does not contain the field that is specified in the fieldName parameter, the field is assumed to be set to undefined, and the elements are placed consecutively in the sorted array in no particular order. By default, Array.sortOn() works in the following way: • Sorting is case-sensitive (Z precedes a). • Sorting is ascending (a precedes b). • The array is modified to reflect the sort order; multiple elements that have identical sort fields are placed consecutively in the sorted array in no particular order. • Numeric fields are sorted as if they were strings, so 100 precedes 99, because "1" is a lower string value than "9". Flash Player 7 added the options parameter, which you can use to override the default sort behavior. To sort a simple array (for example, an array with only one field), or to specify a sort order that the options parameter doesn't support, use Array.sort(). To pass multiple flags, separate them with the bitwise OR (|) operator: my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC); Flash Player 8 added the ability to specify a different sorting option for each field when you sort by more than one field. In Flash Player 8 and later, the options parameter accepts an array of sort options such that each sort option corresponds to a sort field in the fieldName parameter. The following example sorts the primary sort field, a, using a descending sort; the secondary sort field, b, using a numeric sort; and the tertiary sort field, c, using a case-insensitive sort: Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]); Note: The fieldName and options arrays must have the same number of elements; otherwise, the options array is ignored. Also, the Array.UNIQUESORT and Array.RETURNINDEXEDARRAY options can be used only as the first element in the array; otherwise, they are ignored. Parameters fieldName:Object — A string that identifies a field to be used as the sort value, or an array in which the first element represents the primary sort field, the second represents the secondary sort field, and so on. options:Object (default = null) — One or more numbers or names of defined constants, separated by the bitwise OR (|) operator, that change the sorting behavior. The following values are acceptable for theoptions parameter:
  • 29. Array.CASEINSENSITIVE or 1 • Array.DESCENDING or 2 • Array.UNIQUESORT or 4 • Array.RETURNINDEXEDARRAY or 8 • Array.NUMERIC or 16 Returns Array — The return value depends on whether you pass any parameters: • If you specify a value of 4 or Array.UNIQUESORT for the options parameter, and two or more elements being sorted have identical sort fields, a value of 0 is returned and the array is not modified. • If you specify a value of 8 or Array.RETURNINDEXEDARRAY for the options parameter, an array is returned that reflects the results of the sort and the array is not modified. • Otherwise, nothing is returned and the array is modified to reflect the sort order. See also | (bitwise OR) Array.sort() Example ( How to use this example ) The following code creates an empty Array object vegetables and the array is then populated using five calls to push(). Each time push() is called, a new Vegetable object is created by calling the Vegetable()constructor, which accepts a String (name) and Number (price) object. Calling push() five times with the values shown results in the following array: [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]. The sortOn() method is then used with the name parameter to produce the following array: [asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44]. ThesortOn() method is then called again with the price parameter, and the NUMERIC and DESCENDING constants to produce an array sorted by numbers in descending order: [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);
  • 30. // 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; } } The following code creates an empty Array object records and the array is then populated using three calls to push(). Each time push() is called, the strings name and city and a zip number are added to records. Three for loops are used to print the array elements. The first for loop prints the elements in the order in which they were added. The second for loop is run after records has been sorted by name and then city using the sortOn() method. The third for loop produces different output because records is re-sorted by city then by name. 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
  • 31. 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 The following code creates an empty Array object users and the array is then populated using four calls to push(). Each time push() is called, a User object is created with the User() constructor and a name string and age uint are added to users. The resulting array set is [Bob:3,barb:35,abcd:3,catchy:4]. The array is then sorted in the following ways: 1. By name only, producing the array [Bob:3,abcd:3,barb:35,catchy:4] 2. By name and using the CASEINSENSITIVE constant, producing the array [abcd:3,barb:35,Bob:3,catchy:4] 3. By name and using the CASEINSENSITIVE and DESCENDING constants, producing the array [catchy:4,Bob:3,barb:35,abcd:3] 4. By age only, producing the array [abcd:3,Bob:3,barb:35,catchy:4] 5. By age and using the NUMERIC constant, producing the array [Bob:3,abcd:3,catchy:4,barb:35] 6. By age and using the DESCENDING and NUMERIC constants, producing the array [barb:35,catchy:4,Bob:3,abcd:3] An array called indices is then created and assigned the results of a sort by age and using the NUMERIC and RETURNINDEXEDARRAY constants, resulting in the array [Bob:3,abcd:3,catchy:4,barb:35], which is then printed out using a for loop.
  • 32. 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
  • 33. 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 ) method AS3 function splice(startIndex:int, deleteCount:uint, ... values):Array Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Adds elements to and removes elements from an array. This method modifies the array without making a copy. Note: To override this method in a subclass of Array, use ...args for the parameters, as this example shows: public override function splice(...args) { // your statements here } Parameters startIndex:int — An integer that specifies the index of the element in the array where the insertion or deletion begins. You can use a negative integer to specify a position relative to the end of the array (for example, -1 is the last element of the array). deleteCount:uint — An integer that specifies the number of elements to be deleted. This number includes the element specified in the startIndex parameter. If you do not specify a value for the deleteCountparameter, the method deletes all of the values from the startIndex element to the last element in the array. If the value is 0, no elements are deleted. ... values — An optional list of one or more comma-separated values to insert into the array at the position specified in the startIndex parameter. If an inserted value is of type Array, the array is kept intact and inserted as a single element. For example, if you splice an existing array of length three with another array of length three, the resulting array will have only four elements. One of the elements, however, will be an array of length three. Returns
  • 34. Array — An array containing the elements that were removed from the original array. Example ( How to use this example ) The following code creates the Array object vegetables with the elements [spinach, green pepper, cilantro, onion, avocado]. The splice() method is then called with the parameters 2 and 2, which assigns cilantro and onion to the spliced array. The vegetables array then contains [spinach,green pepper,avocado]. The splice() method is called a second time using the parameters 1, 0, and thespliced array to assign [cilantro,onion] as the second element in vegetables. 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 Notice that cilantro and onion trace out as if vegetables has 5 elements, even though it actually has four (and the second element is another array containing two elements). To add cilantro and onionindividually, you would use: 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
  • 35. ( toLocaleString )method public function toLocaleString():String Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Returns a string that represents the elements in the specified array. Every element in the array, starting with index 0 and ending with the highest index, is converted to a concatenated string and separated by commas. In the ActionScript 3.0 implementation, this method returns the same value as the Array.toString() method. Returns String — A string of array elements. See also Array.toString() toStrin ( g ) method public function toString():String Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Returns a string that represents the elements in the specified array. Every element in the array, starting with index 0 and ending with the highest index, is converted to a concatenated string and separated by commas. To specify a custom separator, use the Array.join() method. Returns String — A string of array elements. See also String.split() Array.join() Example ( How to use this example ) The following code creates an Array, converts the values to strings, and stores them in the vegnums variable of the String data type.
  • 36. 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 )method AS3 function unshift(... args):uint Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Adds one or more elements to the beginning of an array and returns the new length of the array. The other elements in the array are moved from their original position, i, to i+1. Parameters ... args — One or more numbers, elements, or variables to be inserted at the beginning of the array. Returns uint — An integer representing the new length of the array. See also Array.pop() Array.push() Array.shift() Example ( How to use this example ) The following code creates the empty Array object names. The strings Bill and Jeff are added by the push() method, and then the strings Alfred and Kyle are added to the beginning of names by two calls to theunshift() method. var names:Array = new Array(); names.push("Bill"); names.push("Jeff"); trace(names); // Bill,Jeff
  • 37. names.unshift("Alfred"); names.unshift("Kyle"); trace(names); // Kyle,Alfred,Bill,Jeff Constant Detail CASEINSENSITIVE Constant public static const CASEINSENSITIVE:uint = 1 Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Specifies case-insensitive sorting for the Array class sorting methods. You can use this constant for the options parameter in the sort() or sortOn() method. The value of this constant is 1. See also Array.sort() Array.sortOn() DESCENDING Constant public static const DESCENDING:uint = 2 Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Specifies descending sorting for the Array class sorting methods. You can use this constant for the options parameter in the sort() or sortOn() method. The value of this constant is 2. See also Array.sort() Array.sortOn() NUMERIC Constant public static const NUMERIC:uint = 16 Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0
  • 38. Versions: Specifies numeric (instead of character-string) sorting for the Array class sorting methods. Including this constant in the options parameter causes the sort() and sortOn() methods to sort numbers as numeric values, not as strings of numeric characters. Without the NUMERIC constant, sorting treats each array element as a character string and produces the results in Unicode order. For example, given the array of values [2005, 7, 35], if the NUMERIC constant is not included in the options parameter, the sorted array is [2005, 35, 7], but if the NUMERIC constant is included, the sorted array is [7, 35, 2005]. This constant applies only to numbers in the array; it does not apply to strings that contain numeric data such as ["23", "5"]. The value of this constant is 16. See also Array.sort() Array.sortOn() RETURNINDEXEDARRAY Constant public static const RETURNINDEXEDARRAY:uint = 8 Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Specifies that a sort returns an array that consists of array indices. You can use this constant for the options parameter in the sort() or sortOn() method, so you have access to multiple views of the array elements while the original array is unmodified. The value of this constant is 8. See also Array.sort() Array.sortOn() UNIQUESORT Constant public static const UNIQUESORT:uint = 4 Language ActionScript 3.0 Version: Runtime Flash Player 9, AIR 1.0 Versions: Specifies the unique sorting requirement for the Array class sorting methods. You can use this constant for the options parameter in the sort() or sortOn() method. The unique sorting option terminates the sort if any two elements or fields being sorted have identical values.
  • 39. The value of this constant is 4. See also Array.sort() Array.sortOn() Examples ( How to use this example ) ArrayExample.as The following example creates a new Array object myArr with no arguments and an initial length of 0: package { import flash.display.Sprite; public class ArrayExample extends Sprite { public function ArrayExample() { var myArr:Array = new Array(); trace(myArr.length); // 0 } } } © 2009 Adobe Systems Incorporated. All rights reserved. Sat Oct 3 2009, 04:15 AM -07:00