
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
General Array-Manipulation Tools
|
267
Of course, the comparison does not always have to involve simple strings and num-
bers. Here we sort an array of movie clips in ascending order, according to their pixel
area:
var clips = [square1, square2, square3];
function sortByClipArea (clip1, clip2) {
clip1area = clip1._width * clip1._height;
clip2area = clip2._width * clip2._height
return clip1area - clip2area;
}
clips.sort(sortByClipArea);
That’s a mighty fine sortin’ machine!
Flash MX adds another useful sorting method not available in Flash 5. When the ele-
ments of an array are objects that share a specific property name, we can use sortOn()
to sort the objects quickly according to that property. For details, see Array.sortOn()
in the Language Reference.
The slice() Method
Something of a subset of splice(), the slice() method retrieves a series of elements
from an array. Unlike splice(), slice() only retrieves elements. It creates a new array
and does not affect the array on which it is invoked. The slice() method has the fol-
lowing syntax:
origArray.slice(startIndex, endIndex)
where startIndex specifies the first element to retrieve and endIndex specifies the ele-
ment after the last element we want to retrieve. The slice() method returns a new
array containing a copy of the series of elements ...